将字符串转换为GMT时区日期。 JAVA

时间:2014-10-16 16:33:13

标签: java datetime

我从网格上获取了yyyy-mm-dd HH:MM:SS格式的日期/时间字符串,它是UTC格式。

我必须创建一个Date对象并以GMT格式打印日期对象,但我不想更改,例如,如果我将日期读为2014-10-22 09:00:00,那么它应该显示为2014-10-22 09:00:00 GMT而不是2014-10-22 13:30:00

我该怎么做?请建议我。

(仅供参考,目前,UTC时间是上午10:25,印度当前时间是下午3:55)。

我正在使用Jaxb解析器来解析XML。邀请任何建议

1 个答案:

答案 0 :(得分:0)

您可以使用SimpleDateFormat来解析日期,然后将其重新格式化为其他时区。

String toTimeZone = "GMT";
String fromTimeZone = "UTC";
String stingvalue = "2014-10-14 03:05:39";

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone(fromTimeZone));
Date parsedDate = dateFormat.parse(stingvalue);

dateFormat.setTimeZone(TimeZone.getTimeZone(toTimeZone));

String newDate = dateFormat.format(parsedDate);

<强>解释

Java Date类计算从格林威治标准时间1970年1月1日00:00:00.000开始的时间(以毫秒为单位)。因此,您的日期是时区中立的。要在不同的时区获取日期,只需格式化不同