1

嗨,下面是我的代码。

public class DateSample {

public static void main(String as[]){
    Calendar c = Calendar.getInstance();
    System.out.println("Curr : "+ c.getTime());
    c.add(Calendar.DATE, -1);
    c.set(Calendar.HOUR, 23);
    c.set(Calendar.MINUTE, 59);
    c.set(Calendar.SECOND, 59);
    c.set(Calendar.MILLISECOND, 0);
    System.out.println("aftr : "+c.getTime());
}
}

输出是:

课程:2013 年 2 月 27 日星期三 15:02:44 CET

之后:2013 年 2 月 27 日星期三 11:59:59 CET

我想要的输出是 2013 年 2 月 26 日星期三 23:59:59 CET。但为什么会出现这种混乱?请帮忙。

4

1 回答 1

6

使用Calendar.HOUR_OF_DAY

get 和 set 的字段编号,指示一天中的小时。HOUR_OF_DAY 用于 24 小时制。例如,在晚上 10:04:15.250,HOUR_OF_DAY 是 22。

 c.set(Calendar.HOUR_OF_DAY, 23);
于 2013-02-27T15:07:13.377 回答