0

「1/23/2013 6:57:17 AM」形式で日時を取得しており、「2012-01-01T12:00:00」形式に変換する必要があります。文字列関数を使用し、日付と時刻を分離して個別に処理することで、問題を解決できたはずです。しかし、日付形式が M/D/YYYY であり、時間でさえ h:mm:ss しかないという事実によって問題が複雑になります。つまり、各区切り文字の前の文字数を想定できません。誰かが以前にこのようなことを扱ったことがあることを願っています。ありがとう。

4

1 に答える 1

3

いいえ、String関数は行くべき道ではありません。

DateFormatソース形式用とターゲット形式用の2 つのインスタンスを使用することをお勧めします。

DateFormat source = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
source.setLenient(false);
DateFormat target = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
target.setLenient(false);
String dateAsString = "1/23/2013 12:00:00 AM";
Date d = source.parse(dateAsString);
System.out.println(target.format(d));
于 2013-03-06T13:27:33.453 に答える