【发布时间】:2020-05-06 01:57:15
【问题描述】:
这是我将日期时间转换为纪元时间戳的代码,有一种情况我不知道如何处理,如果时间戳中包含区域信息并且没有作为第三个参数传递给该函数,它将无论时间戳中的时区是什么时区,总是转换为UTC,如何解决这个问题?
time_to_epoch(List(JString("2007-12-03T10:15:30 CET"), JString("yyyy-MM-dd'T'HH:mm:ss z"))) shouldEqual JString("1196669730000")
time_to_epoch(List(JString("2007-12-03T10:15:30+02:00"), JString("yyyy-MM-dd'T'HH:mm:ssXXX"), JString("CEST" ))) shouldEqual JString("1196669730000") time_to_epoch(List(JString("2007-12-03T10:15:30 CEST"), JString("yyyy-MM-dd'T'HH:mm:ss z"))) shouldEqual JString("1196673330000")
whatever timezone in the timestamp, the result is wrong, i.e, CEST(+02:00), output (+01:00), America/Mexico_City(+05:00), output (+04:00)
【问题讨论】:
-
如果您不想丢失有关时区的信息,请使用
ZonedDateTime