我打算将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. MomentJS - 如何从日期获得上个月的最后一天?
- 4. 如何仅获取星期一在两个给定日期之间的月份的最后一天的日期
- 5. SAS:找到月份和年份的最后一天的日期
- 6. 如何使用JodaTime获取特定月份的最后日期?
- 7. 如何获取月份的最后日期
- 8. 如何获取日期的第一天和最后一天
- 9. 获取AppleScript中的月份的最后一天以及当月的假期
- 10. RDLC-Report得到给定日期的月份的最后一天
- 11. 获取上个月的第一天和最后一天的日期在C#
- 12. 如何获取给定月份的第一天和最后一天
- 13. 通过将6个月添加到今天的日期获取月份的最后日期
- 14. 获取所选月份和年份的第一天和最后一天?
- 15. 如何从日期查询中获取日期和月份?
- 16. 从NSCalendar获取第一天的月份
- 17. 应用函数从今天的日期获取月份
- 18. 如何使用当前月份和年份在scala上获取第一个日期和最后一个日期
- 19. C#.Net从当前日期获取上个月的最后一天
- 20. 如何获取月份的月份发生日期
- 21. 获取月份的第一个星期一和最后一个星期日,穿过月份边界
- 22. 如何获得可可的月份的最后一天?
- 23. 如何在excel中获取本月的最后一个日期
- 24. 如何获得最后一个星期天日期从UNIX
- 25. 从给定日期获取月份,日期和年份
- 26. 如何从DatePickerDialog获取日期,月份和年份?
- 27. ColdFusion日历 - 如何从月份的几天中找到日期?
- 28. 检查当前日期与月份的最后三天
- 29. 如何获取特定年份某月的某一天的日期?
- 30. 如何使用mysql获取本月最后一个星期日的日期?
恭喜!你能否将自己的答案标记为解决方案? :) –