首页 > 解决方案 > 将日历对象的时区从 EEST 更改为 HST 会意外更改时间

问题描述

我有一些TimeStamp,我有日期格式"EEEE, MMM dd, yyyy hh:mm a zzz"。但我不知道如何用时区显示这个时间戳。当我试图显示它时,我得到错误的 DateTime 或错误的时区

示例1:

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(device.getUpdatedDate().getTime())); // here is 2018-07-09 20:02:26.506000
SimpleDateFormat sdf = new SimpleDateFormat(EMAIL_DATE_FORMAT);
sdf.format(calendar.getTime()); // i have wrong timezone

我明白了Monday, Jul 09, 2018 08:02 PM EEST

但是当我添加时sdf.setTimeZone(TimeZone.getTimeZone("HST"));我有正确的时区和错误的时间 Monday, Jul 09, 2018 07:02 AM HST

预期结果Monday, Jul 09, 2018 08:02 PM HST

实际结果:Monday, Jul 09, 2018 08:02 PM EESTMonday, Jul 09, 2018 07:02 AM HST

标签: javadatetimezonetimestampsimpledateformat

解决方案



推荐阅读