为什么本地timeZone String会在UTC日期附加?

时间:2013-03-18 12:20:28

标签: java

我想在UTC时区获取一个日期对象,所以我首先将它转换为一个字符串,它正在向我提供正确的UTC日期字符串,但当我再次将其解析为Date对象时,然后是本地时区字符串(即IST) )在日期而不是UTC中附加。

        Date date = new Date();
        DateFormat timeFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        timeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
        String estTime = timeFormat.format(date);
        date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss", Locale.ENGLISH).parse(estTime);

1 个答案:

答案 0 :(得分:2)

Date没有时区,它代表一个时刻。它以毫秒为单位保存时间。

你不能拥有格式的Date,它不会那样。如果您需要在GUI,控制台或其他任何位置显示Date,那么就像您使用SimpleDateFormat一样,以您想要的格式将其更改为String。 / p>