にAndroidデバイス上でUTCに現在の日付を取得しようとする私のJavaコードの日付を返さない:あなたがdateUTCAsStringを見ることができるようににDateFormatパース - ここではUTC
dateUTCAsString = 2017-11-15T12:54:25 +0000
dateResult = Wed Nov 15 14:54:25 EET 2017
:
public static Date getCurrentDateUTC() {
try {
TimeZone timeZoneUTC = TimeZone.getTimeZone("UTC");
Date localTime = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z");
dateFormat.setTimeZone(timeZoneUTC);
String dateUTCAsString = dateFormat.format(localTime);
Debug.d(TAG, "getCurrentDateUTC: dateUTCAsString = " + dateUTCAsString);
Date dateResult = dateFormat.parse(dateUTCAsString);
Debug.d(TAG, "getCurrentDateUTC: dateResult = " + dateResult);
return dateResult;
} catch (ParseException e) {
Debug.e(TAG, "getCurrentDateUTC: ", e);
return null;
}
}
の検索結果を IS CORRECTは現在の日付をUTCで表示しますが、parse
の後にdateResultが正しくありません。どうして?
EETがUTC + 2であるとすれば、正しいと思われます。あなたは何を見たいですか? – laalto
日付はUTCでなければなりません。だから私は見たいと思う:Wed Nov 15 12:54:25 UTC 2017 – Alex
'Date'は特定のタイムゾーンを持たない。 'Date#toString()'はローカルタイムゾーンのEETを出力します。 – laalto