所以我有一个以毫秒为单位的时间(之前从 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/