java8 LocalDate获取自然周的方法

java8 LocalDate获取自然周的方法


最近在做项目的时候要获取日期所在月份的第几周,刚开始是使用localDate.of(ChronoField.ALIGNED_WEEK_OF_MONTH)来获取周,后来发现不对,查了资料才发现ChronoField.ALIGNED_WEEK_OF_MONTH是从月份的第一天到第七天为第一周,第八天到第十四天为第二周,而我要获取的日期2019-06-03明明是第二周,于是用了一个替换方案:
WeekFields.of(DayOfWeek.MONDAY, 1).weekOfMonth();
第一个参数代表周是按周几开始,第二个是限定第一个自然周最少要几天,weekOfMOnth()则为获取所在月份第几周
使用方法

localDate.of(WeekFields.of(DayOfWeek.MONDAY, 1).weekOfMonth());

你可能感兴趣的:(总结)