0
日付形式を変換しようとしていました。例えば私はフォーマットの2種類があります。最初の日付の日付形式を他の日付と同じにする方法
形式1 Tue, 31 Jan 2017 07:41:06 GMT
フォーマット2 2017-01-31T07:41:06.7366667
をフォーマット2またはその逆で形式1と同じに変換する方法はありますか?前もって感謝します。入力および出力のための
日付形式を変換しようとしていました。例えば私はフォーマットの2種類があります。最初の日付の日付形式を他の日付と同じにする方法
形式1 Tue, 31 Jan 2017 07:41:06 GMT
フォーマット2 2017-01-31T07:41:06.7366667
をフォーマット2またはその逆で形式1と同じに変換する方法はありますか?前もって感謝します。入力および出力のための
使用二つの別個のフォーマッタ:
SimpleDateFormat inputFormatter =
new SimpleDateFormat("E, d MMM yyyy HH:mm:ss z", Locale.ENGLISH);
SimpleDateFormat outputFormatter =
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
outputFormatter.setTimeZone(TimeZone.getTimeZone("GMT"));
String converted =
outputFormatter.format(
inputFormatter.parse("Tue, 31 Jan 2017 07:41:06 GMT"));
System.out.println(converted);
// output: 2017-01-31T07:41:06.000
同様のアプローチは、新しいクラスDateTimeFormatter
とのJava 8で達成することができます。
いつものように、2つのフォーマッタが必要です。 1つは文字列を解析するためのもので、もう1つは最初のフォーマッタの結果を出力するものです。しかし、古くなった 'SimpleDateFormat'クラスと' java.util.Date'を使って作業したい場合、2番目の例のミリ秒(ミリ秒の精度に限る)が失われることを理解してください。 –
最初のフォーマットにマイクロ秒がないので、マイクロ秒を失うのは問題ありません。どうもありがとうございました。今、解決策はありますか? – creulo