全网查了半天,官网api文档也看了,就是不明白这个方法到底什么意思!!!!
还有这种傻x,官网复制黏贴一遍就发出来,浪费时间,让我生气!
前人栽树后人乘凉,写下这篇博客,让后来的小伙伴少走点弯路
如图,我们首先定义一个localDate时间为2019-06-13(周四),接下来定义以周五作为起始,一周7天的weekFields对象
那么下面这段代码什么意思呢?
LocalDate localDate = now.with(weekFields.weekOfYear(), 1);
意思就是获取当前年份,从周五开始的第一个周四,从日历上我们不难看出,2019年第一个周五是1.4
那么从1月4号开始的第一个周四就是1月10号,也就是我们打印的localDate
那么这行代码呢,也就是说从1月10开始,寻找当年第一个周五的日期即1月4号,也就是我们打印的with
LocalDate with = localDate.with(weekFields.dayOfWeek(), 1);
为了确认这个猜想,我们修改其中一个值为2,如图,大家对比一下是不是确认了我们的猜想
我们再把周五换成周一对比看下
完全符合预计结果,感觉看明白了,就点个赞吧!!!!!
-------------------分割线 另外我研究了好长一段时间,终于明白 minimalDaysInFirstWeek这个参数的意义了
我们就看上图代码,第一个周一是7号,7号前面只有6天,所以我们得到的结果是1月10号,如果我们定义minimalDaysInFirstWeek这个参数为6(只要小于7都满足条件,参数默认必须大于等于1)的话,那我们得到的结果就会是1月3号