今天在工作中因为项目需求,需要判断不同月份中有多少天,这个时候就要考虑到平年还是闰年。
在实际业务中:从前台传递一个日期,例如:2019-08-29,这个时候需要根据传递的日期判断这个月中一共有多少天。实现代码如下,利用了Calendar。
String str = "2016-04-01";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = format.parse(str);
calendar.setTime(date);
System.out.println(calendar.getTime());
System.out.println("getActualMaximum:"+calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
首先,将字符串类型的数据,转换成Date类型。然后使用setTime()方法,对calendar进行设置。通过calendar.getActualMaximum(Calendar.DAY_OF_MONTH))获取,calendar中月份的天数。
在Calendar学习中,对Calendar进行设置,获取,增加。代码如下:
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));
//月份下标从零开始
System.out.println(calendar.get(Calendar.MONDAY)+1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
calendar.set(Calendar.YEAR,2020);
calendar.add(Calendar.YEAR, 1);
System.out.println(calendar.getTime());