我从网格上获取了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。邀请任何建议
答案 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开始的时间(以毫秒为单位)。因此,您的日期是时区中立的。要在不同的时区获取日期,只需格式化不同