Nun, dafür ist java.text.DateFormat
gedacht (insbesondere deren Unterklasse SimpleDateFormat
) - aber persönlich würde ich vorschlagen, dass du stattdessen Joda Time verwendest.
Insbesondere ist Joda Times DateTimeFormatter
Klasse threadsicher im Gegensatz zu SimpleDateFormat
- du kannst also eine einzelne Instanz mit dem entsprechenden Muster erstellen und sie von jedem Thread aus verwenden. Außerdem fungiert die DateTimeFormat
Klasse als Fabrik mit vielen voreingestellten Mustern in ISODateFormat
. Oh, und die Kontrolle über die Zeitzone usw. ist mit Joda Time wesentlich besser.
Zu guter Letzt ist Joda Time einfach eine bessere API für Datum und Zeit. Nicht perfekt, aber sie ist viel besser als die integrierte Unterstützung für Date
und Calendar
in Java.
EDIT: Beim Versuch, deinen Beispielsstring zu analysieren, habe ich Schwierigkeiten mit dem "BST" Teil... zum Teil, weil das nicht wirklich eine vollständige Zeitzone ist (es ist nur der DST-Teil der Europe/London Zeitzone) und zum Teil, weil ich mit Joda Time nicht ganz das erreiche, was ich möchte... es scheint so, als hätte in diesem einen Fall SimpleDateFormat
die Oberhand :(