Java - 在没有TimeZone的情况下创建日历

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

我想首先说我已经阅读了几个与此类似的线程,但没有一个真正解决了我的问题。我还要声明我曾试图使用SimpleDateFormat并且joda.DateTime没有任何成功。

问题如下:

我有一个Calendar对象,其中包含有关特定日期的信息:2008-04-30T00:00:00Z使用该calendar.getTime()方法时,我可以获得不同的结果,因为我知道该方法正在寻找本地值

从而:

UK: 2008-04-30T01:00:00.000+0100

US: 2008-04-30T20:00:00.000-0400

但是我希望得到一个Date对象,它只包含日期和时间值“2008-04-30T00:00:00”,完全忽略任何时区。

我怎样才能做到这一点?

正如我之前提到的,我尝试使用 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss") 但总是得到相同的结果。

任何帮助都会非常感谢干杯。

提问于
用户回答回答于

您是否使用标准构造函数来初始化日历?如果您使用允许指定时区和区域设置的构造函数,该怎么办?

protected Calendar(TimeZone zone, Locale aLocale)
用户回答回答于

发现您可以使用以下代码清除时区:

Calendar cal = Calendar.getInstance(); cal.clear(Calendar.ZONE_OFFSET);

扫码关注云+社区

领取腾讯云代金券