/**
* 获得当日0点
*
* @since 2021-12-22
*
*/
public static Date getZero() throws ParseException {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(DateFormatUtils.format(new Date(), "yyyy-MM-dd 00:00:00"));
}
/**
* 获得当日最后时间
*
* @since 2021-12-22
*
*/
public static Date getEnd() throws ParseException {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(DateFormatUtils.format(new Date(), "yyyy-MM-dd 23:59:59"));
}
以上是一种比较讨巧的方法——先把日期按照特定格式转成String然后再转回来。其实按照正常逻辑应该是日历日期设置一下即可,如下:
/**
* 获得当日0点
*
* @author zhangruifang
* @since 2021-12-22
*
*/
public static Date getZero() throws ParseException {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime();
}
/**
* 获得当日最后时间
*
* @author zhangruifang
* @since 2021-12-22
*
*/
public static Date getEnd() throws ParseException {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
return calendar.getTime();
}
当然,还有时间戳的方式,我本人比较讨厌使用时间戳,所以就不再赘述了,你有兴趣的话,可以自己搜………^_^