当前位置: 首页 > 面试题库 >

如何在Java中没有时间获得日期?

邴奇逸
2023-03-14
问题内容

继续从Stack Overflow问题Java程序获取没有时间戳的当前日期:

没有时间获取Date对象的最有效方法是什么?除了这两种以外,还有其他方法吗?

// Method 1
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dateWithoutTime = sdf.parse(sdf.format(new Date()));

// Method 2
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
dateWithoutTime = cal.getTime();

更新:

  1. 我知道乔达·时代;我只是想避免为这样一个简单的任务增加库(我认为)。但是根据到目前为止的答案,《乔达时报》似乎非常受欢迎,因此我可以考虑一下。

  2. 通过高效的,我的意思是我想避免临时对象String的创建13759 method 1,同时method 2似乎是一个黑客,而不是一个解决方案。


问题答案:

你绝对必须使用java.util.Date吗?我将彻底建议你使用Joda Time或java.timeJava 8中的软件包。特别是,虽然“日期”和“日历” 始终代表一个特定的时间瞬间,但没有“仅是日期”这样的概念,但“乔达时间” 确实有一个表示该时间的类型(LocalDate)。如果你能够使用表示你实际要执行的操作的类型,则代码将更加清晰。

使用Joda Time或使用java.time内置java.util类型的原因很多很多,它们通常是更好的API。java.util.Date如果需要,例如在进行数据库交互时,你始终可以在自己代码的边界处与a 进行相互转换。



 类似资料:
  • 我的代码中的一些行如下所示。所有返回字符串和我的都是日期类型。

  • 问题内容: 我需要获取系统日期,而Java提供了。 但是我需要避免分配新的对象(我在嵌入式系统上工作)。如何在不分配新对象的情况下获得系统时间? 问题答案: 正如jzd所说,您可以使用。如果你需要 在 一个对象,但不希望创建一个 新的 对象,你可以使用重用现有的对象。我个人讨厌这种可变的事实,但在这种情况下 可能 对您有用。同样,有一种方法。 如果可能的话,最好将其保留为。如果您只需要有效的时间戳

  • 问题内容: 我有这个SQL请求来检索一些数据,我有这个列’pa.fromdate’,它返回一个日期和一个时间。如何获取仅以“ DD.MM.YYYY”格式返回的日期。我已经尝试过类似的东西。不起作用 我怎样才能做到这一点? 问题答案: 通常一个人会简单地用以下命令截断日期时间: 这将从日期时间中删除时间部分,因此您仅获得日期。然后,在您的应用程序层中,您将关心如何显示它。 例如,您有一个带有网格的G

  • 给定2个日期,如何根据ISO 8601工期以年-月-日、时-分-秒格式计算它们之间的差异? 我只发现Java库可以在几天或更短的时间内提供差异。 鉴于月份和年份的天数不规则,我不知道如何计算月份和年份的差异。 平均持续时间。between接近,但它以小时分秒为单位给出结果: 也就是25533小时57分58秒 我想看看这样的东西: __年__月__天9小时57分58秒

  • 我正在开发一个android应用程序,向用户显示预订的时间和日期。目前我使用的是系统时间和日期,但问题是用户可以随时更改它。那么如何得到正确的时间和日期呢?我在这个问题上工作了3天多,但我还没有找到任何解决办法。任何帮助都很感激。