我在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在这种情况下表示什么? –