【发布时间】:2019-08-03 16:24:41
【问题描述】:
我有一个json返回的日期,它在以下变量中作为字符串:
val dateEvent = "2019-12-28 21:00:00"
我需要的计算是知道当前日期还剩下多少天小时分钟。
我找到了一些解决方案,但这些解决方案用作输入“2019-12-28”,并且我的格式包含时间。
【问题讨论】:
-
LocalDate,顾名思义,用于日期。它不包含时间。 LocalDateTime 包含一个时间,但它不代表一个精确的瞬间,只是一个挂钟日期和时间。使用 ZonedDateTime。 (您必须确定一个时区来计算这个日期时间和现在之间的时间,因为 DST 会影响这种差异)。 javadoc 是你的朋友。
-
输入 ZonedDateTime 是 GMT-05:00
-
那不是时区,那是偏移量。在世界许多地方,冬季的偏移量与夏季的偏移量不同。例如,在时区“Europe/Paris”中,偏移量在夏季为 2 小时,在冬季为 1 小时。正是这一点使得使用实际时区变得很重要,否则结果可能会相差一小时。
-
我对时区不感兴趣,它只是减去两个示例日期
2019-12-28 21:00:00 - 2019-12-30 21:00:00这些日期是仅适用于一个国家/地区的迪斯科活动的日期。我知道要进行减法,我必须将字符串转换为 Date 类型,要对其进行格式化,我必须将其格式化为 GMT-05: 00 例如:Wed Aug 28 21:00:00 GMT-05: 00 2019 -
所以使用时区
"America/Lima"