【发布时间】:2019-02-04 13:22:05
【问题描述】:
我有一个带有 picoseconds 的字符串日期(句点后 9 到 12 位数字之间),当我尝试使用 DateTimeFormatter 解析日期时:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSSSSSSSS");
它会抛出一个异常,表示我无法在句点之后创建超过 9 位的格式。
是否有另一个类可以解析日期,或者其他解析方式。
任何解决方案都会对我有所帮助,但更喜欢与 LocalDateTime 一起使用的类/方式
【问题讨论】:
-
大多数系统不能表示小于一纳秒的时间。我怀疑 Java 的日期时间系统是否支持小于纳秒的任何内容。
-
@vandench 这是因为光纳秒(光在一纳秒内传播的距离)大约是普通笔记本电脑宽度的一半。较小的时间单位与计算机或其用户相关的可能性很小。
-
@vandench 我如何断言 java 支持它?
-
@mypetlion 好的...不确定这与光有什么关系,但没关系。这也绝对不是计算机不支持小于一纳秒的时间的原因,它们不支持那么小的时间,因为它们的处理器无法以适用的速度运行。
-
@vandench 我只是在解释你所说的事情背后的原因。不可能在不到一纳秒的时间内将信号从一个硬件传输到另一个硬件,甚至从一个硬件的一个部分到另一个硬件。 CPU 速度最终受到光速的限制,就像我们宇宙中的一切一样。在真空中,光将在皮秒内传播 0.3 毫米。 CPU不是真空的,大于0.3mm。这意味着这么小的时间测量可能永远不会相关。
标签: java date-parsing time-format localdate datetimeformatinfo