私は、これに関していくつかの質問があることを認識しています。しかし、私は特定の日付パターンに問題があります。ここでは例です:文字列からタイムゾーンを抽出する
20130401100000[-03:EST]
SimpleDateFormat
マニュアルに従って、それは4桁の数字を持っている必要があるので、私は-03
でtroble抱えています。
yyyyMMddHHmmss'['Z':'z']'
しかし、理由はそれだけでは動作しません2桁の:私はそれを持っている最も近いパターンはこれでした。ここで私はテストのために使用しているコードサンプルです:
public static void main(String[] args) throws ParseException {
String input = "20130401100000[-03:EST]";
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss'['Z':'z']'");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(df.format(new Date()));
System.out.println(df.parse(input));
}
私はnew Date()
を印刷するとき、私はこの取得:
20130528155734[+0000:GMT]
をしかし、私はinput
を解析しようとすると、私は次の例外を取得:
Exception in thread "main" java.text.ParseException: Unparseable date: "20130401100000[-03:EST]"
at java.text.DateFormat.parse(DateFormat.java:337)
at Teste.main(Teste.java:17)
私はどのようににTimeZone
でinput
を解析することができます知っていますか?
私は 'replaceAll'で溶液を好きには、エレガントなようです。ありがとう:-) –