sql-server - Excel Power Query - 将日期时间从 UTC 转换为本地时间

标签 sql-server excel excel-formula powerbi powerquery

我正在 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/

相关文章:

vba - 在 Windows 7 中保存 Excel 加载项

excel - 将 Access 表从 Excel VBA 导出到 dBase 文件?

python - 将 Pandas DataFrame 保存到 CSV 文件,无需添加额外的双引号

Excel 多列平均值

excel - 索引/匹配公式中的动态工作表名称

sql-server - 在sql server表中存储标签的最佳方式?

sql-server - 动态查询中的 TSQL 隔离级别

SQL Server 为什么不使用索引

sql - 如何在 sql server 中使用数据透视表(无聚合)?

excel - VBA Sap Scripting 打开或连接/保留在已打开的 session 窗口中