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

时间:2014-04-02 00:49:21

标签: sql-server excel excel-formula powerbi powerquery

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

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

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

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

在我的情况下,本地是澳大利亚东部时间,但如果Excel刚刚拿到当地时区,那将会非常棒。 (它似乎已经这样做了)

1 个答案:

答案 0 :(得分:4)

我想我已经找到了答案。

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

所以我现在可以使用:

DateTimeZone.ToLocal(DateTime.AddZone([date_created_UTC],0))

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