前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >举个例子!DateTime.LocalNow和FixedLocalNow,这俩函数到底有啥差别?| Power Query解惑

举个例子!DateTime.LocalNow和FixedLocalNow,这俩函数到底有啥差别?| Power Query解惑

作者头像
大海Power
发布2022-04-11 18:52:42
7090
发布2022-04-11 18:52:42
举报
文章被收录于专栏:用户8950297的专栏

很多朋友在获取系统当前时间时,都会用到DateTime.LocalNow或DateTime.FixedLocalNow这两个非常非常相似的函数。

但是,因为实在太相似了,所以几乎每位朋友都会产生这样的疑问:这两个函数到底有啥差别啊?

首先,我们查一下官方的说明:

一脸懵逼啊!

啥叫:可能会在表达式的执行过程中返回不同值?能给个例子不?没个例子就是没感觉!对吗?

所以,为了方便大家理解,我决定造个例子——

首先,看DateTime.FixedLocalNow函数的解析,其中还有一句:“将不会随着连续调用而更改”。

所以,关键在于“连续调用”——这里面隐含2层意思:

1、连续,说明要有多次调用;

2、要在多次里体现不同的当前时间(LocalNow),那每次调用之间最好要有一定的间隔,否则系统内很快就全部运行完毕,可能就看不出差别。

在Power Query里,我们可以通过Function.InvokeAfter函数,实现对其他函数(或步骤/代码)隔一段时间(比如1秒)就调用一次。具体用法直接看下面的例子。

同时,结合List.Transform函数,我们就可以控制调用次数,并输出计算结果。

最终示例如下:

代码语言:javascript
复制
= List.Transform(
     {1..5}, 
     (s)=>Function.InvokeAfter(
             ()=>DateTime.FixedLocalNow(),
             #duration(0,0,0,1)
          )
)

显然,在多次调用的过程中,DateTime.FixedLocalNow()的结果是一样的。而对于DateTime.LocalNow()的连续调用,每次的结果就不一样了:

通过这个例子,大家能明确知道这两个函数的确是存在差异的。

但就我目前所碰到的实际工作情况,或朋友们所提的问题来说,暂时还没见到过有对当前时间(LocalNow)进行连续调用的要求——所以,除非特殊需要,两个函数随便用哪一个都可以

真正碰到这种特殊的要求时,知道了这两者的差别,也就得心应手了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档