您好,下面是我的代码。

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());
}
}


输出为:

Curr:2013年2月27日星期三15:02:44

aftr:2013年2月27日星期三CET

我想要的输出是CET 2013年2月26日星期三。但是为什么会造成这种混乱呢?求助。

最佳答案

使用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);

09-10 08:35
查看更多