如何检查当前时区的毫秒时间戳是否在午夜?

时间:2012-10-02 10:53:48

标签: java time

我的时间戳以毫秒为单位1349557200000。如何检查它是否出现在我当前时区的午夜?

我想出的最好的东西是:

Calendar mycal = Calendar.getInstance();
Integer offset = (mycal.get(Calendar.ZONE_OFFSET) + mycal.get(Calendar.DST_OFFSET)) * (60 * 1000);
Boolean isAtMidnight = 1349557200000L % (24L * 60L * 60L * 1000L)) == (long) offset ? true : false;

这看起来有点复杂。我想知道是否有任何我可能缺少的快捷方法。感谢。

1 个答案:

答案 0 :(得分:9)

Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(milliseconds);
return cal.get(Calendar.HOUR_OF_DAY) == 0
       && cal.get(Calendar.MINUTE) == 0
       && cal.get(Calendar.SECOND) == 0
       && cal.get(Calendar.MILLISECOND) == 0;