如何获取今天到目前为止经过的毫秒数
我想以毫秒为单位获取当前时间和日期。我怎样才能得到这个?
我试过这个:
Date date=new Date() ;
System.out.println("Today is " +date.getTime());
它将返回 1970 年 1 月 1 日的毫秒。
但是我想要今天日期的当前毫秒,例如:
23:59:00 = 86340000 milliseconds
我想以毫秒为单位获取当前时间和日期。我怎样才能得到这个?
我试过这个:
Date date=new Date() ;
System.out.println("Today is " +date.getTime());
它将返回 1970 年 1 月 1 日的毫秒。
但是我想要今天日期的当前毫秒,例如:
23:59:00 = 86340000 milliseconds
对于 Java 8 或更高版本,这不是正确的方法。这个答案是为后代保留的。对于任何合理的现代Java,请使用Basil Bourque的方法代替。
以下似乎有效。
Calendar rightNow = Calendar.getInstance();
// offset to add since we're not UTC
long offset = rightNow.get(Calendar.ZONE_OFFSET) +
rightNow.get(Calendar.DST_OFFSET);
long sinceMidnight = (rightNow.getTimeInMillis() + offset) %
(24 * 60 * 60 * 1000);
System.out.println(sinceMidnight + " milliseconds since midnight");
问题是 返回从 1970-01-01T00:00:00Z 开始的毫秒数,但给出当前本地时间。从类中添加 和 将为您提供默认/当前时区中的时间。date.getTime()
new Date()
ZONE_OFFSET
DST_OFFSET
Calendar
尝试:
(d.getTime() % (86400000))
注意:86400000 是一天中的毫秒数。