java - 确定以毫秒为单位的时间是否在本周内

标签 java milliseconds

所以我有一个以毫秒为单位的时间(之前从 System.currentTimeMillis() 获得)保存在一个 long 变量中。我现在需要的是一种方法来确定该时间是否在当前一周内。我需要获得 boolean 值的结果。最好的方法是什么?

最佳答案

Joda

new DateTime().weekOfWeekyear().toInterval().contains(millis);

您可以通过执行类似的操作来检查它是否正确挑选了整周

System.out.println(new DateMidnight(2011, 12, 31).weekOfWeekyear().toInterval());

打印 2011-12-26T00:00:00.000/2012-01-02T00:00:00.000。向您表明它已正确找到跨越年份边界的星期。请注意,Joda 默认情况下将星期日视为一周的第一天。如果您需要的话,不确定是否可以将其更改为星期一。

由于 Joda 对象是不可变的(只有少数情况不是),它们的生命周期通常非常短,并且上述代码中几乎没有性能开销,因为默认 GC 在处理短生命周期方面非常有效对象。但您确实获得了巨大的可读性奖励。

关于java - 确定以毫秒为单位的时间是否在本周内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6727280/

相关文章:

java - 1970 年之前 java/android 中的毫秒?

java - 强制只读 Apache POI 中的第一张表

java - 带有 Active Directory PartialResultException 的 JNDI

java - IBM MQ 的深度

java - 杰老板 : How can i execute a class at deploy time?

c# - 为什么我的 DateTime.Now.Millisecond 值始终为 "000"?

javascript - Javascript 减去日期

javascript - 以毫秒为单位检索日期对象的日期部分

使用计数器的 Java 数据竞争示例

c++ - 无法让我的计时器每毫秒计数一次以上