我有一個LocalDate,需要獲取該月的第一天和最後一天。 我該怎麼做?使用threeten獲取月份的第一天和最後一天,LocalDate
例如。 2014年12月13日 我需要以LocalDate格式獲得1/2/2014和28/2/2014。
使用threeten LocalDate類。
我有一個LocalDate,需要獲取該月的第一天和最後一天。 我該怎麼做?使用threeten獲取月份的第一天和最後一天,LocalDate
例如。 2014年12月13日 我需要以LocalDate格式獲得1/2/2014和28/2/2014。
使用threeten LocalDate類。
只需使用withDayOfMonth
,並lengthOfMonth()
:
LocalDate initial = LocalDate.of(2014, 2, 13);
LocalDate start = initial.withDayOfMonth(1);
LocalDate end = initial.withDayOfMonth(initial.lengthOfMonth());
試試這個:
LocalDate initial = LocalDate.of(2014, 2, 13);
LocalDate start = initial.withDayOfMonth(1);
LocalDate end = initial.withDayOfMonth(initial.getMonthOfYear().getLastDayOfMonth(false));
System.out.println(start);
System.out.println(end);
你可以找到的願望輸出,但需要考慮的參數的照顧真/假爲getLastDayOfMonth方法
該參數表示跳躍今年
沒有必要使用'getLastDayOfMonth' - 請參閱我的答案以獲得更簡單的方法。 –
喬恩長柄水杓答案是正確的,並已實至名歸我給予好評,只是增加了對完整性此稍有不同的解決方案:
import static java.time.temporal.TemporalAdjusters.lastDayOfMonth;
LocalDate initial = LocalDate.of(2014, 2, 13);
LocalDate start = initial.withDayOfMonth(1);
LocalDate end = initial.with(lastDayOfMonth());
的API旨在支持緊密匹配業務需求的解決方案
import static java.time.temporal.TemporalAdjusters.*;
LocalDate initial = LocalDate.of(2014, 2, 13);
LocalDate start = initial.with(firstDayOfMonth());
LocalDate end = initial.with(lastDayOfMonth());
但是,喬恩的解決方案也很好。
與此一起,使用專門製作的API資源來處理這個特定的問題。 – jpangamarca
僅供參考請參閱其他答案 – assylias