上周是java.time.LocalDate吗?

man*_*eak 4 java time date java-time

我有一个每周统计系统,我想检查统计数据最后一次更新是否是上周.如果是的话,我想清除它.

目前,日期存储在LocalDate:

LocalDate lastUpdate;
Run Code Online (Sandbox Code Playgroud)

我已经有了这样的日常统计数据:

if(lastUpdate.isBefore(LocalDate.now())
{
    clearDailyStatistics();
}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

if(/* something here? */)
{
    clearWeeklyStatistics();
}
Run Code Online (Sandbox Code Playgroud)

所以,问题是:我如何比较LocalDate对象的周数?不需要形成周的不同"标准" - 周一到周日将被使用(如Java DayOfWeek课程已经使用的那样).

请保留您关于Java 8 java.time类,没有Joda-Time或其他外部库的注释和答案.

Jea*_*art 6

尝试使用WEEK_OF_WEEK_BASED_YEAR比较一年中的年份和周数:

 LocalDate now = LocalDate.now();
 if(lastUpdate.get(IsoFields.WEEK_BASED_YEAR) != now.get(IsoFields.WEEK_BASED_YEAR)
      || lastUpdate.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR) != 
                       now.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR))
Run Code Online (Sandbox Code Playgroud)