检索上周一和上周五日期的最佳方法是什么tl;博士避免使用旧日期时间类LocalDateTemporalAdjuster关于 java.time
我需要获取上周星期一和星期五的日期。为此,我得到本周星期一的日期并减去7天。这给了我上周星期一的日期。
要获得星期五的日期,我必须添加4。这让我有点困惑,因为出于某种原因,一周的第一天是星期日,而不是英国的星期一。
无论如何,这就是我如何获得日期。
// Get the dates for last MON & FRI
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
cal.add(Calendar.DAY_OF_WEEK, -7);
cal.set(Calendar.HOUR_OF_DAY,0);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);
// Get the date on Friday
cal.add(Calendar.DAY_OF_WEEK, 4);
cal.set(Calendar.HOUR_OF_DAY,23);
cal.set(Calendar.MINUTE,59);
cal.set(Calendar.SECOND,59);
cal.set(Calendar.MILLISECOND,0);
以上是有效的,但我感兴趣的是逻辑是否有任何错误。即,它是否适用于二月,闰年等。
请随时提出更好的解决方案/方法。
谢谢