java返回上一天的开始时间信息,如果输入当前时间,返回昨天的零点时间:
/**
* 返回上一天的整点信息
*
* @param date
* @return 2014-3-3 00:00:00
*/
public static Date lastDayWholePointDate(Date date) {
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(date);
if ((gc.get(gc.HOUR_OF_DAY) == 0) && (gc.get(gc.MINUTE) == 0)
&& (gc.get(gc.SECOND) == 0)) {
return new Date(date.getTime() - (24 * 60 * 60 * 1000));
} else {
Date date2 = new Date(date.getTime() - gc.get(gc.HOUR_OF_DAY) * 60 * 60
* 1000 - gc.get(gc.MINUTE) * 60 * 1000 - gc.get(gc.SECOND)
* 1000 - 24 * 60 * 60 * 1000);
return date2;
}
}
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toLocaleString());
date = DateUtil.lastDayWholePointDate(date);
System.out.println(date.toLocaleString());
}
输出:
2014-3-5 12:15:50
2014-3-4 0:00:00