考虑到新引入的闰秒,1岁的(java)库如何正确执行UTC时间格式
自 1.1.1970 UTC 以来以毫秒为单位表示的时间戳是存储时间戳的常用方法,例如在 Java 中。
例如:
long timestampUtc = System.currentTimeMillis();
这样的时间戳可以格式化为人类重新读取时间格式,例如使用此代码
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
df.setTimeZone(TimeZone.getTimeZone("UTC"));
String humanTimeUtc = df.format(new Date(timestampUtc));
System.out.println(humanTimeUtc);
它给出输出:2014-02-14 14:58:05
现在想象一下,今天午夜,政府引入了一个新的UTC闰秒。如果我运行tommorow上面的代码,我的系统上的java JRE无法知道闰秒介绍,并且会错误地格式化时间(一秒钟)。
我的推测是否正确?
如何在不能始终使用最新 JRE 的系统中正确格式化时间(例如在日志文件中)。
背景信息:
这用于嵌入式设备,该设备通过GPS同步其系统时钟,使GPS闰秒数偏移到UTC。