日期以UTC传递到后端,我想将时间转换为给定的TZ。我遇到了一个错误,因为3月10日所在的UTC DST与测试的TZ(America / Los_Angeles)不同。
date = #DateTime<2019-03-10 02:25:19.464342Z>
timezone = Timezone.get("America/Los_Angeles", d2)
Timezone.convert(date, timezone)
第2行出现以下错误
{:error, {:could_not_resolve_timezone, "America/Los_Angeles", 63719403919, :wall}}
我知道这是由于DST引起的,但是在给定的时间,LA存在于其他日期时间中,这正是我要查找的日期,我将如何获取该日期时间?
答案 0 :(得分:0)
{:ok, date, _} = DateTime.from_iso8601("2019-03-10 02:25:19.464342Z")
unix = DateTime.to_unix(date)
timezone = Timex.Timezone.resolve("America/Los_Angeles", unix)
Timex.Timezone.convert(date, timezone)
输出:
#DateTime<2019-03-09 18:25:19.464342-08:00 PST America/Los_Angeles>