获得当天的00:00:00,注意:
1、设置“小时”的时候使用的是Calendar.HOUR_OF_DAY,得到的是00:00:00
2、设置“小时”的时候使用的是Calendar.HOUR,得到的是12:00:00
3、设置“秒”的时候只使用Calendar.SECOND,则秒数为0,毫秒数不为0
4、设置“秒”的时候只使用Calendar.MILLISECOND,则毫秒数为0,秒数不为0
5、设置“秒”的时候同时使用Calendar.MILLISECOND和Calendar.MILLISECOND,则毫秒数为0,秒数也为0
代码如下:
Calendar cale = Calendar.getInstance();
//设置为0时
cale.set(Calendar.HOUR_OF_DAY,0);
//设置为0分
cale.set(Calendar.MINUTE,0);
//设置为0秒
cale.set(Calendar.MILLISECOND,0);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cale.getTime()));
结果输出
2019-09-10 00:00:00
代码如下:
Calendar cale = Calendar.getInstance();
//设置为0时
cale.set(Calendar.HOUR,0);
//设置为0分
cale.set(Calendar.MINUTE,0);
//设置为0秒
cale.set(Calendar.MILLISECOND,0);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cale.getTime()));
结果输出
2019-09-10 12:00:00
若要获得其他日期的0时,可配合Calendar其他功能一起使用,例如:获得30天前的0时,代码如下:
//当前时间为2019年9月10日
Calendar cale = Calendar.getInstance();
//时间前推30天
cale.add(Calendar.DAY_OF_MONTH,-30);
//设置为0时
cale.set(Calendar.HOUR_OF_DAY,0);
//设置为0分
cale.set(Calendar.MINUTE,0);
//设置为0秒
cale.set(Calendar.MILLISECOND,0);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cale.getTime()));
结果输出
2019-08-11 00:00:00