私は既に言及された回答を見てきましたが、私が直面している問題に取り組んでいません。異なるタイムゾーンの文字列を異なるタイムゾーンの日付に変換する
2017-10-03T19:45:
は、私はGMTのStringを持って、私は他の時間帯として解析する必要が00.000 + 0000
。問題は、+0000
です。 SimpleDateFormat
を使用して解析しようとすると、ユーザーのtimeZoneを使用するのではなく、サーバーのタイムゾーンが考慮されます。 https://www.jdoodle.com/embed/v0/java/jdk-1.8/92U
コード:
String dateString = "2017-10-02T19:45:23.000+0000";
SimpleDateFormat parseFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS+0000");
parseFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
try{
Date newDate = parseFormat.parse(dateString);
System.out.println(newDate);
parseFormat.setTimeZone(TimeZone.getTimeZone("Asia/Calcutta"));
String newDateString = parseFormat.format(newDate);
//Instead of +0000 it should be +05:30 but it is not so.
System.out.println(newDateString);
} catch(ParseException e){
e.printStackTrace();
}
出力:
月10月2日午前19時45分23秒GMT 2017
2017-ここは、私は、問題のデモを作成しました10-03T01:15:23.000 + 0000
[Java Simple Date Formatでのオフセット時間の使い方](https://stackoverflow.com/questions/43518627/how-to-use-offset-time-in-java-simple-date-format) ) –
「+ 0000」はUTCを意味します。 –
そして、質問にコードを含める方がよいので、リンクが利用できない場合、質問は「不完全」にならない:https://meta.stackoverflow.com/a/339451/7605325 –