我想在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);
答案 0 :(得分:2)
Date
没有时区,它代表一个时刻。它以毫秒为单位保存时间。
你不能拥有格式的Date
,它不会那样。如果您需要在GUI,控制台或其他任何位置显示Date
,那么就像您使用SimpleDateFormat
一样,以您想要的格式将其更改为String
。 / p>