アシシュVyasさん:
DateFormat utcFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
utcFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
DateFormat indianFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
indianFormat .setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
String output = null;
try {
Date timestamp = null;
timestamp = utcFormat.parse(createdAt);
output = indianFormat.format(timestamp);
} catch (ParseException e) {
Log.d("ParseError", String.valueOf(e));
}
私は「形式のGMT時間を変換したい2020-03-16T18:50:39.656Z
GMTと同じフォーマットのIST時に」私は解析できない例外を取得しています
ダウードはモニカを回復言います:
Z
あなたの最後のcreatedAt
値は、ISO 8601のタイムゾーンのシンボルです。それを解析するには、持っている必要がありX
、あなたの日付フォーマット文字列ではありませんZ
。あなたの日付書式文字列を変更"yyyy-MM-dd'T'HH:mm:ss.SSSX"
し、あなたのプログラムが動作します。
また、あなたが保つことができるZ
日付フォーマット文字列ではなくて、あなたの入力を与える"2020-03-16T18:50:39.656+0000"
-であること、入力にオフセット時間を表すために4桁の数字を使用し、代わりにZ
。