确定给定月份有多少天
Determine how many days in a given month
我正在根据给定月份的天数进行一些计算,
确定当前年月
Date date = new Date();
Year = YearFormat.format(date);
Month = MonthFormat.format(date);
判断当月有多少天
int year = Integer.valueOf(Year);
int month = Integer.valueOf(Month);
Calendar calendarD = new GregorianCalendar(year, month, 1);
int noOfDaysOfMonth = calendarD.getActualMaximum(Calendar.DAY_OF_MONTH);
问题
noOfDaysOfMonth
似乎没有给我正确的天数。
例如 year = 2018 , month = 8
给了我 30
我期望 31
LocalDate::lengthOfMonth
如果使用Java8,则可以访问java.timeAPI。
具体来说,LocalDate::lengthOfMonth
方法。
int length = LocalDate.now().lengthOfMonth();
月份以 0 = 一月开始;月 = 9 月 8 日和 9 月只有 30 天。
为了避免这种情况,例如使用 Calendar.AUGUST
而不是 8。
LengthOfMonth
方法就是为了这个。此外,我认为 Calendar
API 不应该再使用了。已经很旧了。
LocalDate date = LocalDate.of(2019, 6, 20);
int days = date.lengthOfMonth();
我正在根据给定月份的天数进行一些计算,
确定当前年月
Date date = new Date();
Year = YearFormat.format(date);
Month = MonthFormat.format(date);
判断当月有多少天
int year = Integer.valueOf(Year);
int month = Integer.valueOf(Month);
Calendar calendarD = new GregorianCalendar(year, month, 1);
int noOfDaysOfMonth = calendarD.getActualMaximum(Calendar.DAY_OF_MONTH);
问题
noOfDaysOfMonth
似乎没有给我正确的天数。
例如 year = 2018 , month = 8
给了我 30
我期望 31
LocalDate::lengthOfMonth
如果使用Java8,则可以访问java.timeAPI。
具体来说,LocalDate::lengthOfMonth
方法。
int length = LocalDate.now().lengthOfMonth();
月份以 0 = 一月开始;月 = 9 月 8 日和 9 月只有 30 天。
为了避免这种情况,例如使用 Calendar.AUGUST
而不是 8。
LengthOfMonth
方法就是为了这个。此外,我认为 Calendar
API 不应该再使用了。已经很旧了。
LocalDate date = LocalDate.of(2019, 6, 20);
int days = date.lengthOfMonth();