Excel Power Query - 将日期时间从UTC转换为Local

Ada*_*amH 5 sql-server excel excel-formula powerquery powerbi

我通过Excel 2010中的Power Query(版本:2.10.3598.81)连接到MS SQL数据库.

我的日期以UTC格式存储在数据库中,但是我想在电子表格中将它们显示为本地日期.

DateTimeZone.From() - 转换为DateTimeZone类型,但假定输入日期位于本地时区.这与我想要的完全相反.

DateTimeZone.ToLocal() - 给出错误,我想因为源日期中没有时区信息.

在我的案例中,本地是澳大利亚东部时间,但如果Excel刚拿到当地时区,那将是很棒的.(它似乎已经这样做了)

Ada*_*amH 6

我想我已经找到了答案。

我认为用于在时区之间转换的函数DateTime.AddZone()实际上用于将时区信息添加到现有日期。如果您的日期是 UTC,您将使用DateTime.AddZone([date_created],0),如果您的日期已经在 AEST 中,那么您将使用DateTime.AddZone([date_created],10)

所以我现在可以使用:

DateTimeZone.ToLocal(DateTime.AddZone([date_created_UTC],0))
Run Code Online (Sandbox Code Playgroud)

并且 Power Query 会将我从 UTC创建的日期正确转换为 AEST(或任何本地日期)。