5

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

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

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

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

就我而言,本地是澳大利亚东部标准时间,但是如果 Excel 刚刚选择本地时区,那就太好了。(似乎已经这样做了)

4

1 回答 1

6

我想我已经找到了答案。

我认为用于在时区之间转换的函数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(或任何本地日期)。

于 2014-04-30T01:31:48.000 回答