如何在Java中没有时间获得日期?
继续从Stack Overflow问题Java程序获取没有时间戳的当前日期:
没有时间获取Date对象的最有效方法是什么?除了这两种以外,还有其他方法吗?
// Method 1SimpleDateFormat 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();
更新:
我知道乔达·时代;我只是想避免为这样一个简单的任务增加库(我认为)。但是根据到目前为止的答案,《乔达时报》似乎非常受欢迎,因此我可以考虑一下。
通过高效的,我的意思是我想避免临时对象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中没有时间获得日期? 的全部内容, 来源链接: utcz.com/qa/422117.html