Power查询中的列将JavaScript时区转换为UK格式:
= #datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000)但这会产生错误的输出(-1小时差),可能是由于UTC / GMT+Summertime的差异?
我再次尝试使用以下代码进行转换:
= DateTimeZone.ToLocal(#datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000))但我知道错误是:
Expression.Error: We cannot convert the value #datetime(2019, 7, 11, 23, 11, 40) to type DateTimeZone.
Details:
Value=11/07/2019 23:11:40
Type=Type我该如何正确地做这件事?
编辑:
Timestamp = Text.BetweenDelimiters([ReceivedTime], "(", ")"), type text其中[ReceivedTime]是一个以毫秒为单位的JSON日期,如:/Date(1562886700000)/
在不诉诸Text方法的情况下,可能有一种更明智的方法来转换JSON日期。
最终的解决方案应该在Power报告中正确显示--报告应该显示用户的Local中的所有日期时间。
发布于 2019-07-17 23:28:23
DateTimeZone.ToLocal接受一个datetimezone参数,但您只有一个datetime。一个不同的函数DateTimeZone.From可以将一个datetime转换为datetimezone,但它假设输入datetime位于本地区域,这将向相反的方向转换。
相反,您可以使用UTC时区调用#datetimezone构造函数,然后将其转换为本地区域:
= DateTimeZone.ToLocal(#datetimezone(1970, 1, 1, 0, 0, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000))https://stackoverflow.com/questions/57042263
复制相似问题