You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI/Power Query:Unix时间戳转PQ DateTime报错求助

解决PowerBI中Unix时间戳转DateTime的问题

错误原因

你用反了计算逻辑:Unix时间戳是从1970-01-01 00:00:00 UTC开始的秒数,而PowerBI的DateTime.From()函数接收的是从1899-12-30开始的天数。将秒数乘以86400(一天的秒数)会得到远超合理范围的数值,直接触发格式错误。

正确转换方法

方法1:使用内置专用函数(推荐)

PowerBI提供了直接处理秒级Unix时间戳的函数,一步到位:

date_output = DateTime.FromUnixSeconds([upLoad_date])

如果你的时间戳是毫秒级(13位数字),替换为DateTime.FromUnixMilliseconds()即可。

方法2:手动计算(兼容旧版本)

若因版本限制无法使用内置函数,可通过天数转换实现:将秒数转为天数(除以86400),再加上Unix纪元(1970-01-01)与PowerBI基准日期(1899-12-30)的差值(25569天):

date_output = DateTime.From(25569 + [upLoad_date]/86400)

额外注意事项

  • 确认upLoad_date为整数类型:如果是文本格式,先通过INT([upLoad_date])转换为整数后再计算。
  • 时区转换:DateTime.FromUnixSeconds()默认输出UTC时间,若需转为本地时区,用以下公式:
    date_output = DateTimeZone.ToLocal(DateTime.FromUnixSeconds([upLoad_date]))
    

内容的提问来源于stack exchange,提问作者db2020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 07:43:12