我正在 Excel 2010 中通过 Power Query(版本:2.10.3598.81)连接到 MS SQL 数据库。
我的日期以 UTC 格式存储在数据库中,但我想在电子表格中将它们显示为本地日期。
DateTimeZone.From() - 转换为 DateTimeZone 类型,但假定输入日期位于本地时区。这与我想要的完全相反。
DateTimeZone.ToLocal() - 给出错误,我认为是因为源日期中没有时区信息。
在我的例子中,本地是澳大利亚东部时间,但是如果 Excel 只选择本地时区,那就太好了。 (看来已经这样做了)
最佳答案
我想我已经找到了答案。
我认为用于在时区之间转换的函数 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(或任何本地日期)。
关于sql-server - Excel Power Query - 将日期时间从 UTC 转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22799581/