当前位置:  开发笔记 > 编程语言 > 正文

如何获取给定日期的月份的最后一天

如何解决《如何获取给定日期的月份的最后一天》经验,为你挑选了1个好方法。

我有一个给定的日期:

01/10/2017(mm/dd/yyyy)

Calendar c = c.getInstance();

c.setTime(date);

现在指向本月的最后一天,我使用以下代码:

c.set(Calendar.Date, c.getActualMaximum(Calendar.Date));

预期产出:2017年1月31日

原始输出:02/01/2017

我没有得到预期的输出.它在下个月的第一天归还我.

谁能帮帮我吗?



1> GhostCat say..:

您最好在这里使用Java 8的新日期时间功能:

LocalDate date = LocalDate.of(2000, Month.OCTOBER, 15);
LocalDate lastOfMonth = date.with(TemporalAdjusters.lastDayOfMonth());
System.out.printf("last day of Month: %s%n", lastOfMonth );

是的,理论上你也可以使用Calendar对象并自己进行各种低级操作.但机会是:你会错的......好吧,除非你看这里并遵循那里的建议.

但正如Basil正确指出的那样:310项目非常接近java.time(因为后者的设计与前者相匹配); 310可以"移植" 回 Java7.因此,如果您需要处理日期的地方不止一个,我会深入研究:使用"理智的"日期/时间库让您的生活更轻松.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有