1

次の日付を解析しようとしています: 10:00 AM (UTC-08:00) on Sep 3, 2015SimpleDateFormat を使用します。

私が得た最も遠いものは次のとおりです。

message = "10:00 AM UTC-08:00";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a z");
sdf.parse(message);

月と日を追加すると、次の例外が発生しました:(括弧と「オン」を削除しようとしましたが、それをエレガントに処理するソリューションを見つけたいと思います)

message = "10:00 AM UTC-08:00 on Sep 3";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a z MMM d");
result = {java.text.ParseException@9787}Method threw 'java.text.ParseException' exception.
errorOffset = 12
detailMessage = "Unparseable date: "10:00 AM UTC-08:00 Jul""

私が欠けているものを知りたいです。

4

2 に答える 2

0

次のような入力を使用してください: Jul 10:00 AM UTC-08:00

および次のような形式: MMM HH:mm az

于 2015-09-03T04:55:14.090 に答える
0

タイムゾーンは最後でなければならないという結論に達しました。

これらはすべて機能します:

String message = "10:00 AM UTC-08:00";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a z");

String message = "Jul";
SimpleDateFormat sdf = new SimpleDateFormat("MMM");

String message = "10:00 AM Jul UTC-08:00";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a MMM z");

String message = "UTC-08:00";
SimpleDateFormat sdf = new SimpleDateFormat("z");

しかし、これらはしません:

String message = "10:00 AM UTC-08:00 Jul";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a z MMM");

String message = "UTC-08:00 10:00 AM";
SimpleDateFormat sdf = new SimpleDateFormat("z HH:mm a");

さらに、私が見たパターンの例はすべて、最後にタイムゾーンがありました。しかし、これを明示的に述べているドキュメントが見つからなかったので、これを読んでいる人は他に何か知っていることがあれば共有してください.

于 2015-09-03T05:34:09.370 に答える