日期转换,但没有预期的输出

时间:2013-08-01 08:26:55

标签: java

String S = new SimpleDateFormat("yyyyMMdd").format(myDate);

在myDate中传递的日期是2010年10月15日(不是确切的格式),实际上是一个时间戳,其类型为日期在java。

但是字符串S中的输出是20100115不是 20101015正如预期的那样。任何人都可以提供输入。将非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

myDate可能有问题。

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.DAY_OF_MONTH,15);
    cal.set(Calendar.MONTH,9);
    cal.set(Calendar.YEAR,2010);

    Date date = new Date(cal.getTimeInMillis());    
    String S = new SimpleDateFormat("yyyy:MM:dd").format(date);
    System.out.println(S);

控制台说:

2010:10:15

哪个是对的。请注意,由于某种原因,几个月开始索引为0(!),所以它是0-11(1月到12月)。