我只想创建一个方法,将日期设置为同一天的时间“23:59:59.999”。所以我做了这个:
public static Date date235959(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.HOUR, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
c.set(Calendar.MILLISECOND, 999);
//c.set(Calendar.AM_PM, Calendar.PM);
return c.getTime();
}
当我运行时:
Date d = new Date();
d=date235959(d);
System.out.println(d.toString());
d=date235959(d);
System.out.println(d.toString());
我预计
2013 年 9 月 17 日星期二 23:59:59 BRT 2013 年
9 月 17 日星期二 23:59:59 BRT 2013
但输出是
Tue Sep 17 23:59:59 BRT 2013
Wed Sep 18 11:59:59 BRT 2013
为什么会发生这种情况,我该如何解决?