查找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
, .Calendar
和java.text.SimpleDateFormat
。
现在处于维护模式的Joda-Time项目建议迁移到java.time。
要了解更多信息,请参阅Oracle教程 。 并搜索Stack Overflow以获取许多示例和解释。
许多java.timefunction在ThreeTen- Backport中反向移植到Java 6和7,并在ThreeTenABP中进一步适应Android (请参阅如何使用… )。
ThreeTen-Extra项目使用其他类扩展了java.time。 该项目是未来可能添加到java.time的试验场。 您可以在这里找到一些有用的课程,如Interval
, YearWeek
, YearQuarter
等。
从Java 8开始,一个简单的方法是:
int daysInCurrentMonth = java.time.LocalDate.now().lengthOfMonth();
看起来像家庭作业。 查找日历 。