如何在 Power Query 中对 DateTime 执行相当于 AddHours 的操作?

How can I perform the equivalent of AddHours to a DateTime in Power Query?

我见过可以从日期时间中减去天数的 PowerQuery 表达式,例如 DateTimeZone.UtcNow.AddDays(-1)。但是,我想从 DateTime 中减去 hours,而不是天数。

由于我在 Power Query 规范中没有看到像 AddHours() 这样的函数,是否有一种可靠的方法可以返回几个小时? 例如,会DateTimeZone.UtcNow + #duration(0, -1, 0, 0) 之类的东西给我一个提前一小时的日期时间?

[注意:我自己会尝试这个,但我无法在我的本地机器上安装 Power Query,而且我找不到独立的编辑器来尝试它,因此社区询问]

是的,添加 #duration(0, -1, 0, 0) 会给你一个早一小时的日期时间。您还可以从 DateTime 值中减去 #duration(0, 1, 0, 0)。这些方法很稳健。

yourtime + 3/24 将增加三个小时

这个 link 有一张很好的图像,详细说明了小时数的减法。

https://community.powerbi.com/t5/Desktop/How-to-subtract-hours-from-DateTime-data-using-DAX/m-p/137444#M59029

当输入午夜时,我用它从日期([End] 列)中减去七小时。见下文:

(if Time.Hour([End]) <> 0 then [End] else [End] - #duration(0,7,0,0))