我在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日6時01分00秒CST 2016 - >當系統時間爲上海時間」 * < - 那是隻是一個錯字或它真的改變年份到2016年? –
這裏「24小時」是什麼意思?請注意,您在輸入和輸出中都使用'hh'(12小時制)... –
另請注意,許多時區縮寫都非常模糊。 *您希望CST在這種情況下表示什麼? –