0

バックオフィスの日付 (C#)\\/Date\\((\\d+)([-+]\\d+)?\\)\\/を解析していますorg.joda.time.DateTime

例:
1 - BO 日付 = /Date(1380891215020+0100)/
2 - 解析された DateTime BO 日付 = 2013-10-04T12:53:35.020+01:00
3 - Calendar.setTime(DateTime BO 日付が解析されました) = Fri Oct 04 12:53:35 GMT+01:00 2013
4 - 文字列 finalDate = Calendar.getTime().toString(); = 2013 年 10 月 4 日金曜日 12:53:35 GMT+01:00

この時点で、すべてがうまくいきました。今、日付を比較したいので:

Date dateA = mySimpleDateFormat.parse(finalDate);
Calendar cal = Calendar.getInstance();
cal.setTime(dateA);
...

一部のデバイスでmySimpeDateFormat解析するために使用する場合finalDate

java.text.ParseException: 解析不能な日付: "Fri Oct 04 12:53:35 WEST 2013" (オフセット 20)"

投げられます。HTC One Sはそのデバイスの 1 つです。

電話の日付と時刻の設定:
- 自動日付と時刻: true
- 自動タイム ゾーン: false


GMT+01:00 ではなく WEST があるのはなぜですか?
御時間ありがとうございます。

4

3 に答える 3

1

デバイスのロケール (言語と時刻を扱う) が問題である可能性があります。finalDate 文字列は明らかに英語のタイムスタンプですが、あなたのデバイスはそうではないかもしれません。

于 2013-10-04T11:18:10.053 に答える
1

私は同様の問題を経験しました。Calendar cal = Calendar.getInstance(Locale.US);代わりに使用してください。一部のデバイスでは、ロケールが US ではなく、他のロケールでCalendar.getInstance()返されます。Calendarも同様です。SimpleDateFormatを使用してみてくださいmySimpleDateFormat = new SimpleDateFormat(format, Locale.US);

于 2013-10-04T11:18:13.260 に答える