Excel 如何将#datetime转换为本地时区?
Power Query中的一列将JavaScript时区转换为UK格式:Excel 如何将#datetime转换为本地时区?,excel,powerbi,powerquery,m,Excel,Powerbi,Powerquery,M,Power Query中的一列将JavaScript时区转换为UK格式: = #datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000) 但这会产生错误的输出(-1小时差异),可能是由于UTC/GMT+夏季时间差异 我尝试使用以下代码再次转换: = DateTimeZone.ToLocal(#datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]
= #datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000)
但这会产生错误的输出(-1小时差异),可能是由于UTC/GMT+夏季时间差异
我尝试使用以下代码再次转换:
= 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(156288670000)/
可能有一种更合理的方法来转换JSON日期,而不必求助于Text
方法
生成的解决方案应在Power BI报告中正确显示-报告应显示用户本地时区中的所有日期时间。采用datetimezone
参数,但您只有datetime
。另一个函数可以将日期时间
转换为日期时区
,但它假定输入的日期时间
位于本地区域,从而将其转换为相反方向
相反,您可以使用UTC时区调用构造函数,然后将其转换为本地时区:
= DateTimeZone.ToLocal(#datetimezone(1970, 1, 1, 0, 0, 0, 0, 0) + #duration(0, 0, 0, [Timestamp]/1000))
在将日期时间传递给DateTimeZone.ToLocal()函数之前,您是否尝试过使用DateTimeZone.From()将日期时间转换为日期时区?谢谢我的专栏现在有一个+01:00。现在让我困惑的是,尽管列中有+1,但它仍然在我的Power BI报告中以UTC时间显示(没有+1)。有什么想法吗?我使用了:
DateTimeZone.ToLocal(DateTimeZone.From(#datetime(1970,1,1,0,0,0)+duration(0,0,0,[Timestamp]/1000))
is[Timestamp]是日期时间吗?为什么它被1000个好问题分开?我已经用更多信息更新了问题。对不起,我不知道如何解决这个问题。如果您在这里没有得到任何回复,也许您可以尝试将此问题发布在Power BI社区论坛上。