String t = s.replaceAll(".*;\\s+", ""); //Output: Tue Mar 5 08:30:20 2013 +0000
DateFormat parser = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy Z",Locale.ENGLISH);
Date time = parser.parse(t);
これは私がjava.util.Dateを使用していたときに使用したものですが、2つのDateオブジェクトを比較すると問題が発生することがあり、Calendarを使用しようとしましたが役に立たず、JodaTimeに出くわしました。その後、DateTIme形式を使用してみて、それがどのように機能するかを確認しようと思いましたが、次のようになります:
java.lang.IllegalArgumentException: 無効な形式: "Tue Mar 5 08:30:20 2013 +0000"
このコードを使用して文字列を DateTime 形式に変換しようとすると:
String t = s.replaceAll(".*;\\s+", ""); //Output: Tue Mar 5 08:30:20 2013 +0000
DateTimeFormatter parser = DateTimeFormat.forPattern("EEE MMM dd HH:mm:ss yyyy Z");
DateTime time = DateTime.parse(t, parser);
私は何を間違っていますか?私が使用しているパターンが同じであることがわかる限り、「HH」を「kk」に置き換えてみましたが、同じ結果が得られました。