【发布时间】:2019-07-30 03:46:00
【问题描述】:
我已经解析并准备好了持续时间,持续时间是 java.time.Duration 类型,并以此作为输入我试图通过添加 LocalDateTime.now() 和持续时间 (java.time.duration) 来计算结束日期时间。但是没有得到合适的结果
能够看到与 ReadableDuration 类似的内容,但没有太多关于如何使用它的文档。
java.time.Duration duration = java.time.Duration.parse(timeinISOSTD);
Date localDate = (Date) duration.addTo(java.time.LocalDateTime.now());
String stringDate = localDate.toString();
我需要一个结束日期时间或结束日期对象,这将帮助我确定 SLA 结束日期时间。
【问题讨论】:
-
“没有得到适当的结果”不是一个有用的描述。具体来说,你期待什么,具体来说,你得到了什么?
timeinISOSTD的值是多少? -
不应该强制转换为
Date失败吗? -
还有更多,
Date是什么(java.util 或 java.sql,或...) - 实际上应该不可能投射LocalDateTime(由addto返回)到Date- 为什么不LocalDateTime.now().plus(duration)不需要演员...... -
不要。利用。
Date。 你已经在使用java.time包中的类,但你也应该完全放弃Date。除非你绝对必须——但你没有。 -
请注意,
LocalDateTime适用于一般的 24 小时工作日,不适用于实际时刻。如果您的跟踪实际经过的时间,您应该使用Instant、OffsetDateTime或ZonedDateTime而不是LocalDateTime。