如何使date.getTime()返回UTC时间?

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

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

我有一个日期对象,它表示UTC时间。当我使用getTime()方法获取这个对象的长值时,返回的值对应于我们的本地时间。什么是正确的方法来获得值,它对应于原来的UTC时间?

谢谢

提问于
用户回答回答于

java.util.Date没有时区概念。它只是持有相对于时代的时间,即UTC 1 1970 1:00 00:00:00。日期是一个模型,与视图分开。当你显示日期时,时区的概念将被应用。日期的toString()在默认时区中显示一个可读的日期。你可以使用a DateFormat在不同时区(如UTC)中显示日期,也可以更改JVM的默认时区。

用户回答回答于

DateFormat类一个设置你的首选时区的方法,并且有一个时区类,它具有UTC时间设置

所以,例如,

SimpleDateFormat sdf = new SimpleDateFormat();
sdf.setTimeZone(new SimpleTimeZone(SimpleTimeZone.UTC_TIME, "UTC"));
Date yourUtcDate = sdf.parse(yourOriginalDate);

扫码关注云+社区