0

我想始终使用偏移量 -6 保留 CST 时间,目前我得到的是2018-03-15T05:08:53-05:00.

但我想像2018-03-15T05:08:53-06:00全年一样将其更改为偏移量 -6。

TimeZone tz= TimeZone.getdefault();

if(tz.inDayLightTime())
{
    getCSTDate(cal)
    // I would like to change the logic here. 
}

public XMLGregorianCalendar getCSTDate(Calendar cal)
{
    return XMLGregorianCalendar; 
}

我的输入类型:日历输出:XMLGregorianCalendar

4

2 回答 2

2

然后不要使用跟踪夏令时变化的时区(这可能是你的情况TimeZone.getDefault())。

如果你想要一个固定的偏移量,你可以这样做:

TimeZone tz = TimeZone.getTimeZone("GMT-06:00");

不知道为什么要这样做,因为如果您要处理时区,则必须考虑 DST 影响。并且2018-03-15T05:08:53-06:00与 的瞬间不同2018-03-15T05:08:53-05:00,因此在保留所有其他字段的同时更改偏移量通常是错误的 - 因为不清楚您为什么想要这样做以及想要实现什么,我无法就此提供更多建议。

于 2018-03-16T14:21:08.570 回答
1
于 2018-03-16T18:44:55.773 回答