日付文字列がCST(24時間)で、GMT(12時間)に変換したい。 私はシステム時間がコルカタ時間であるときにうまく動作する以下のようなjavaメソッドを持っています。 (私がJavaメソッドを実行するシステム) しかし、私のシステムが上海時間にあるとき、GMT時間は間違っています。CSTからGMTへの日付形式変換が機能しない
String inputDate = "01-19-2017 06:01 CST";
SimpleDateFormat inputFormatter = new SimpleDateFormat("MM-dd-yyyy hh:mm Z");
parsedInput = inputFormatter.parse(inputDate);
// parsedInput -> Tue Jan 19 06:01:00 CST 2017 -> When system time is Shanghai time
// parsedInput -> Thu Jan 19 17:31:00 IST 2017 -> When system time is Kolkata time
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy hh:mm a Z");
TimeZone gmt = TimeZone.getTimeZone("GMT");
formatter.setTimeZone(gmt);
String formattedDate = formatter.format(parsedInput);
// formattedDate -> 01-18-2017 10:01 PM +0000 -> When system time is Shanghai time (Incorrect)
// formattedDate -> 01-19-2017 12:01 PM +0000 -> When system time is Kolkata time
*「火1月19日午前六時01分00秒CST 2016 - システム時刻が上海の時間である>」<* - それだけのタイプミスですかそれは本当に年を変更ん2016年に? –
「24時間」とはどういう意味ですか?入力と出力の両方で 'hh'(12時間制)を使用していることに注意してください。 –
多くのタイムゾーンの略語は、あまりにもあいまいです。この場合、CSTが何を意味すると思いますか? –