比如给一个时间 2016-09-06(周二)就能得到2016-09-04(2016-09-06这一周的周日)
学习是最好的投资!
雷雷
建議用Java8的新時間API,操作起來比較方便
LocalDate localDate = LocalDate.parse("2016-09-15"); LocalDate nextSunday = localDate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
就這麼簡單...沒有以前老Date API那么麻烦,可能还要try catch,或者判斷很多種情況,很多情況交給JDK自己去處理吧,現在已經封裝好了方法
Date API
try catch
對於這種封裝好了的方法,可以說Java8作為Java最新版本,已經把Java以前的命令式風格融入了聲明式風格,代碼讀取來也更易讀了,localDate.with就是新时间API定义的时间抽象类Temporal的with方法,参数就是一个调整TemporalAdjuster接口,代表了当前对象可以根据这个具体的调整器来调整当前对象,TemporalAdjusters.next就是生成了一个调整器,调整星期的...表示下一个,参数传的DayOfWeek.SUNDAY,表示是周日
localDate.with
Temporal
with
TemporalAdjusters.next
DayOfWeek.SUNDAY
因此完整連起來讀localDate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));这段代码就真的很容易了,所见即所得,把当前时间localDate按照調整器(下一個週日)進行調整併返回
localDate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
localDate
雷雷
雷雷
建議用Java8的新時間API,操作起來比較方便
就這麼簡單...沒有以前老
Date API
那么麻烦,可能还要try catch
,或者判斷很多種情況,很多情況交給JDK自己去處理吧,現在已經封裝好了方法對於這種封裝好了的方法,可以說Java8作為Java最新版本,已經把Java以前的命令式風格融入了聲明式風格,代碼讀取來也更易讀了,
localDate.with
就是新时间API定义的时间抽象类Temporal
的with
方法,参数就是一个调整TemporalAdjuster接口,代表了当前对象可以根据这个具体的调整器来调整当前对象,TemporalAdjusters.next
就是生成了一个调整器,调整星期的...表示下一个,参数传的DayOfWeek.SUNDAY
,表示是周日因此完整連起來讀
localDate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
这段代码就真的很容易了,所见即所得,把当前时间localDate
按照調整器(下一個週日)進行調整併返回