joda-time 2.3 を使用して、タイム ゾーン情報も含む日時値を解析しようとしています。
以下は私のコードです -
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class App {
public static void main(String[] args) {
DateTime dt = new DateTime();
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy/MM/dd hh:mm:ss a z");
String str = formatter.print(dt);
System.out.println(str);
DateTime date = formatter.parseDateTime(str);
System.out.println(date);
}
}
pom.xml -
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.3</version>
</dependency>
出力 -
2013/09/16 11:15:03 PM IST
Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "2013/09/16 11:15:03 PM IST" is malformed at "IST"
at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:873)
at com.cmcltd.servermon.App.main(App.java:15)
わかりません。文字列を DateTime に解析するために使用すると、DateTime オブジェクトをフォーマットするために使用するフォーマッタ パターンが失敗します。これは Joda-Time のバグですか、それとも意図した動作ですか?
入力日付「2013/09/16 11:15:03 PM IST」を解析するために使用できる形式パターンは何ですか?
ありがとう。