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

ここで myDate に渡される Date は 2010 年 10 月 15 日です (正確な形式ではありません)。実際には Java の Date 型のタイム スタンプです。

しかし、文字列 S の出力は期待どおりでは20100115ありません。だれでも入力を提供できますか。ヘルプをいただければ幸いです。 20101015

4

1 に答える 1

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 月) であることに注意してください。

于 2013-08-01T08:39:48.180 に答える