【发布时间】:2020-09-13 16:25:48
【问题描述】:
纳秒值130016196641685504
预期结果:2013 年 1 月 2 日星期三下午 5:01:04
此代码的输出:1974-02-14 01:06:36
FileTime time = FileTime.from(nanoSeconds,TimeUnit.NANOSECONDS);
String pattern = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Date date = new Date(time.toMillis());
System.out.println(simpleDateFormat.format(date));
更具体地说,我正在尝试将纳秒转换为 java 中的 humanReadable 格式。更多详情请参考link...
【问题讨论】:
-
我已作为副本关闭。当我将您的值 130016196641685504 插入到原始问题和答案的代码中时,我得到
2013-01-02T17:01:04.168550400Z,这似乎与您的预期一致。 -
我建议你不要使用
SimpleDateFormat和Date。这些类设计不佳且早已过时,尤其是前者,尤其是出了名的麻烦。而是使用Instant、DateTimeFormatter和来自java.time, the modern Java date and time API 的其他类。 -
@OleV.V.谢谢,它工作得很好,谢谢....
标签: java datetime time timestamp