查找Java中一个月的天数

你如何找到Java中一个月的天数?

在Calendar对象上设置年份和月份,然后使用getActualMaximum返回最后一天:

 calendar.getActualMaximum(Calendar.DAY_OF_MONTH) 

java.time.Month

使用java.time类,特别是java.time.Month枚举。

 int days = Month.FEBRUARY.minLength(); // 28 int days = Month.FEBRUARY.maxLength(); // 29 int days = Month.FEBRUARY.length( boolean_consider_leap_year ); // TRUE → 29, FALSE → 28. 

您可以获取Month对象的Month对象,1-12表示1月至12月。

 int monthNumber = Month.FEBRUARY.getValue(); 

关于java.time

java.time框架内置于Java 8及更高版本中。 这些类取代了麻烦的旧日期时间类,如java.util.Date.Calendarjava.text.SimpleDateFormat

现在处于维护模式的Joda-Time项目建议迁移到java.time。

要了解更多信息,请参阅Oracle教程 。 并搜索Stack Overflow以获取许多示例和解释。

许多java.timefunction在ThreeTen- Backport中反向移植到Java 6和7,并在ThreeTenABP中进一步适应Android (请参阅如何使用… )。

ThreeTen-Extra项目使用其他类扩展了java.time。 该项目是未来可能添加到java.time的试验场。 您可以在这里找到一些有用的课程,如IntervalYearWeekYearQuarter等。

从Java 8开始,一个简单的方法是:

 int daysInCurrentMonth = java.time.LocalDate.now().lengthOfMonth(); 

看起来像家庭作业。 查找日历 。