我打算將YearMonth日期轉換爲即將成爲該月最後一天的LocalDate。所以我需要使用toLocalDate(int i)方法。如何使用yearMonth實例將該月的最後一天傳遞給該方法?如何從YearMonth日期獲取月份的最後一天?
回答
最後,我想出了這個解決方案:
yearMonth.toLocalDate(yearMonth.plusMonths(1).toLocalDate(1).minusDays(1).getDayOfMonth())
我需要獲取下個月的第一天,然後使用minusDays(1)方法從中扣除1天。
短的僅僅擁有數量的array
,你可以以編程弄清楚使用如下的內容:
- 你檢查,第一:
if (month == 2 && year % 4 == 0) return 29; else if (month == 2) return 28; else { if (month > 7) month -= 1; if (month % 2 == 0) //Month number is even return 30; else return 31; }
所以要通過這個走看看它是不是二月,這是一個閏年。
- 接下來,您只需檢查是否是二月。
- 之後,您需要查看月份是否爲8月或更晚,因爲那是31天的月份重新開始的時間。如果是這種情況,則基本上將月份數字從偶數改爲數字,反之亦然。
- 最後,運行月份編號(編輯與否,取決於是否是8月或以後),以查看它是偶數還是奇數,最終決定最後一天。
示例:2015年2月。month = 2
和year = 2015
。 month
確實等於2
,但year % 4
等於3
。最終結果,return 28
。
實施例2:十月,2015年month = 10
和year = 2015
。 month
大於7,所以month = 9
。 month
很奇怪,所以最終結果爲return 31
。
這是錯誤的,因爲它會給你的日期像1900-2-29 – Zee
如果你解析出年和月是可用的,那就沒有問題了。 –
您可以使用dateTime.dayOfMonth().getMaximumValue()
獲取當前月份和年份的最後一天。
public class Test {
public static void main(String[] args) {
YearMonth ym = new YearMonth();
System.out.println(ym);
int dayCount = daysOfMonth(ym.getYear(), ym.getMonthOfYear());
LocalDate localDate = new LocalDate(ym.getYear(), ym.getMonthOfYear(), dayCount);
System.out.println(localDate);
}
public static int daysOfMonth(int year, int month) {
DateTime dateTime = new DateTime(year, month, 14, 12, 0, 0, 000);
return dateTime.dayOfMonth().getMaximumValue();
}
}
也簡單,你可以改變的主要方法部分(不改變daysOfMonth法)
public static void main(String[] args) {
YearMonth ym = new YearMonth();
System.out.println(ym);
LocalDate endOfMonth = ym.toLocalDate(daysOfMonth(ym.getYear(), ym.getMonthOfYear()));
System.out.println(endOfMonth);
}
- 1. 如何在YearMonth對象中獲取月份的最後一天?
- 2. 從python的年份月份獲取月份的最後一天
- 3. 從月份中獲取月份的第一天和最後一天的密鑰
- 4. MomentJS - 如何從日期獲得上個月的最後一天?
- 5. 格式日期作爲月份的第一天/最後一天
- 6. 如何僅獲取星期一在兩個給定日期之間的月份的最後一天的日期
- 7. SAS:找到月份和年份的最後一天的日期
- 8. 從日期獲取月份的日期
- 9. 如何獲得月份到今天的排除日期(從月份到昨天?)
- 10. 月份的最後日期
- 11. 如何使用JodaTime獲取特定月份的最後日期?
- 12. 如何獲取月份的最後日期
- 13. 如何獲取日期的第一天和最後一天
- 14. 減去月份 - 月份的最後一天的問題?在河上的日期
- 15. 獲取不同年份之間的天/月的最早日期
- 16. 獲取指定日期的月份的第一個和最後一個日期
- 17. 獲取AppleScript中的月份的最後一天以及當月的假期
- 18. VBA-獲取月份和年份從今天日期
- 19. RDLC-Report得到給定日期的月份的最後一天
- 20. 如何獲取當前月份的最後一天和下個月的最後一天
- 21. 獲取上個月的第一天和最後一天的日期在C#
- 22. 如何獲取給定月份的第一天和最後一天
- 23. 獲取所選月份和年份的第一天和最後一天?
- 24. 通過將6個月添加到今天的日期獲取月份的最後日期
- 25. 如何從日期查詢中獲取日期和月份?
- 26. 從NSCalendar獲取第一天的月份
- 27. 應用函數從今天的日期獲取月份
- 28. 如何獲取從今天到一月的月份列表?
- 29. MySQL從日期列中獲取每個月的最後日期
- 30. 如何使用當前月份和年份在scala上獲取第一個日期和最後一個日期
恭喜!你能否將自己的答案標記爲解決方案? :) –