我正在尝试将本地时区中的日期时间转换为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日期对象
这是调试时获得的值
此处 dateStr 在UTC中显示正确的日期,而 utcDate 对象则显示本地时间
答案 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秒的区别。