首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java日历获取当前日期,不包括小时、分钟、秒和毫秒,以毫秒为单位

Java日历获取当前日期,不包括小时、分钟、秒和毫秒,以毫秒为单位
EN

Stack Overflow用户
提问于 2011-10-28 22:10:25
回答 4查看 49K关注 0票数 24

我想得到当前的日期,以毫秒为单位,只有年,月和日期。但是当我使用这段代码时:

代码语言:javascript
复制
Calendar cal = Calendar.getInstance();
cal.clear(Calendar.HOUR);
cal.clear(Calendar.MINUTE);
cal.clear(Calendar.SECOND);
cal.clear(Calendar.MILLISECOND);
currentDate = cal.getTimeInMillis();

我仍然可以得到以毫秒为单位的时间。我该如何解决这个问题呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-28 22:29:56

代码语言:javascript
复制
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);
currentDate = cal.getTimeInMillis();

在日历的时区上要小心。

票数 62
EN

Stack Overflow用户

发布于 2011-10-28 22:22:55

如果您只想要相对于GMT的时间,并且显式地只想要毫秒,您可以使用以下命令:

代码语言:javascript
复制
long now = System.currentTimeMillis();
long today = now - now % 86400000;
票数 9
EN

Stack Overflow用户

发布于 2011-10-28 22:13:11

javadoc中:分别处理HOUR_OF_DAY、HOUR和AM_PM字段,并应用一天中时间的解析规则。清除其中一个字段不会重置此日历的小时值。使用set(Calendar.HOUR_OF_DAY,0)重置小时值。

代码语言:javascript
复制
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

可能还需要设置AM/PM

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7930351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档