0

クラス Date を使用して「YYYY-MM-DD 00:00:00.0」の形式でデータを取得するにはどうすればよいですか (正確にこのクラスを使用することが非常に重要です)。

私が考えることができるすべてをやろうとしました:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
df.format(date)

String pattern = "yyyy-MM-dd HH:mm:ss.S";
SimpleDateFormat format = new SimpleDateFormat(pattern);
try {
Date date = format.parse("2011-01-18 00:00:00.0");
} catch (ParseException e) {
e.printStackTrace();
}

ロガーを使用して日付を印刷すると、「Tue Sep 30 00:00:00 MSK 1913」という形式になります。

4

4 に答える 4

5

これを試して

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
    Date date = format.parse("2011-01-18 00:00:00.0");
    System.out.println(format.format(date));
于 2013-07-15T08:45:28.880 に答える
1

あなたは混乱しDate.toString()ていますSimpleDateFormat.format()

のオブジェクトにDate (java.util.Date)はフォーマット情報がありません。を呼び出すdate.toString()と (ロガーによって呼び出されます)、このオブジェクトのデフォルト表現が得られ、それが何であるかがわかります。

ただし、SimpleDateFormat.format()戻り値として文字列を返します。この値は、によって定義されたパターンで Date オブジェクトをフォーマットしますSimpleDateFormat

コードでは、最初に文字列を特定のパターンで解析して、日付オブジェクトを取得しました。成功した場合は、Date オブジェクトを取得します。この日付オブジェクトには、入力文字列を解析するパターンを定義したとしても、形式情報はありません。日付オブジェクトを(再び文字列に)印刷/出力したい場合は、SimpleDateFormat.format()メソッドを使用する必要があります。

于 2013-07-15T08:50:44.680 に答える
1

時、分、秒をゼロにしてもよろしいですか?

それとも、パターン yyyy-MM-dd HH:mm:ss を意味しますか?

日付クラスは常にフォーマットに依存しません。次のように、印刷するときにのみ翻訳する必要があります。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String out = df.format(date)
System.out.println(out);

それとも、日付オブジェクトから時間を削除しますか? か何か。

于 2013-07-15T08:45:43.093 に答える