本地时区日期对象到UTC时区日期对象

时间:2019-01-10 08:55:10

标签: java android date datetime utc

我正在尝试将本地时区中的日期时间转换为UTC日期时间。

Log.d(JsonObject.toString())

我现在在 Date localDate; // this is local date SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ") ; simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); String dateStr = simpleDateFormat.format(localDate); 中获得了正确的转换UTC时间,现在我想将其转换为仅具有UTC时区的dateStr对象 但是当我这样做的那一刻,我又得到了Date

localDate

有人知道我如何将本地日期对象转换为UTC日期对象

这是调试时获得的值

enter image description here

此处 dateStr 在UTC中显示正确的日期,而 utcDate 对象则显示本地时间

1 个答案:

答案 0 :(得分:0)

Date类旨在反映协调的通用时间( UTC )时间。可以将其格式化为所需的任何格式,例如您可以将其格式化为本地时区或UTC时区。

参见javadoc:https://docs.oracle.com/javase/8/docs/api/java/util/Date.html

  

尽管Date类旨在反映协调世界时(UTC),但它可能并非完全如此,具体取决于Java虚拟机的宿主环境。在所有情况下,几乎所有现代操作系统都假设1天= 24×60×60 = 86400秒。但是,在UTC中,大约每年一到两年一次,称为“,秒”。 always秒总是添加到一天的最后一秒,并且总是在12月31日或6月30日。例如,由于增加了leap秒,1995年的最后一分钟是61秒长。大多数计算机时钟的精度不足以反映the秒的区别。