将GMT日期字符串转换为本地Date对象

时间:2013-01-19 05:05:52

标签: java date calendar timezone simpledateformat

我正在尝试将Date对象(CST区域)转换为GMT String然后再转换回Date对象(CST)。

我使用了以下代码&它正在工作,但想知道如何将GMT字符串转换为CST日期与GMT日期格式化程序。
我的问题是如何在不使用带有CST格式化程序的格式化程序的情况下获得CST时间?

Date inputdate = new Date();// My local time CST

System.out.println(inptdate);

SimpleDateFormat sdfgmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.000'Z'");
sdfgmt.setTimeZone(TimeZone.getTimeZone("GMT"));

String gmtString = sdfgmt.format(inputdate );

System.out.println(gmtString);

Date outputDate  = sdfgmt.parse(gmtString);

System.out.println(outputDate);

输出

Fri Jan 18 22:52:47 CST 2013  
   2013-01-19T04:52:47.000Z  
   Fri Jan 18 22:52:47 CST 2013

1 个答案:

答案 0 :(得分:0)

java日期没有时区概念。 java日期只是一个存储的long。通过将您要转换的日期打印到计算机的时区。如果您对存储时区感兴趣,请尝试使用Joda的DateTime类。