Java 特定年份的特定月份的天数?

如何知道特定年份的特定月份有多少天?

String date = "2010-01-19";

String[] ymd = date.split("-");

int year = Integer.parseInt(ymd[0]);

int month = Integer.parseInt(ymd[1]);

int day = Integer.parseInt(ymd[2]);

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.YEAR,year);

calendar.set(Calendar.MONTH,month);

int daysQty = calendar.getDaysNumber(); // Something like this

回答:

Java 8及更高版本

@沃伦·诺科斯(Warren M. 如果你尝试使用Java 8的新Date and Time API,则可以使用java.time.YearMonthclass。请参阅Oracle教程。

// Get the number of days in that month

YearMonth yearMonthObject = YearMonth.of(1999, 2);

int daysInMonth = yearMonthObject.lengthOfMonth(); //28

测试:尝试a年的一个月:

yearMonthObject = YearMonth.of(2000, 2);

daysInMonth = yearMonthObject.lengthOfMonth(); //29

Java 7及更早版本

创建日历,设置年份和月份并使用 getActualMaximum

int iYear = 1999;

int iMonth = Calendar.FEBRUARY; // 1 (months begin with 0)

int iDay = 1;

// Create a calendar object and set year and month

Calendar mycal = new GregorianCalendar(iYear, iMonth, iDay);

// Get the number of days in that month

int daysInMonth = mycal.getActualMaximum(Calendar.DAY_OF_MONTH); // 28

测试:尝试a年的一个月:

mycal = new GregorianCalendar(2000, Calendar.FEBRUARY, 1);

daysInMonth= mycal.getActualMaximum(Calendar.DAY_OF_MONTH); // 29

以上是 Java 特定年份的特定月份的天数? 的全部内容, 来源链接: utcz.com/qa/414176.html

回到顶部