如何在 ADF 中获取自纪元以来的毫秒数
How to get number of miliseconds since epoch in ADF
我正在努力获取 ADF 中当前时间的 Unix 时间戳。基本上我需要自纪元以来的毫秒数 (ms)。我尝试使用 ADF 中的内置刻度函数,但这不是我需要的。刻度上的 documentation 也不是很清楚。它表示自指定时间戳以来的滴答数是函数 returns 的内容。 1 tick = 100 纳秒 & 1000000 纳秒 = 1 毫秒。所以考虑到这一点,我在设置变量 activity 中使用了以下表达式:-
@{ div(ticks('1970-01-01T00:00:00.0000000Z'),10000) }
所以期望是每当我 运行 它时,它应该给我自纪元以来的毫秒数(直到执行的那一刻)——所以根据这个定义,每次我 运行吧,应该return给我一个不同的值。但它 return 每次我 运行 它都是一个固定值 62135568000000。所以要么文档不正确,要么它没有真正计算出我真正需要的东西。
函数 ticks() return 从 '0001-01-01T00:00:00.0000000Z' 到 ticks() 的参数的 ticks 数,而不是从 '1970-01-01T00:00:00.0000000 Z'。这就是为什么你总是得到一个固定值 62135568000000。
我试过了@{ticks('0001-01-01T00:00:00.0000000Z')}
,结果是0。
所以如果你想得到从 '1970-01-01T00:00:00.0000000Z' 到当前时间的毫秒数,你可以试试这个:@{div(sub(ticks(utcnow()),ticks('1970-01-01T00:00:00.0000000Z')),10000)}
.
我正在努力获取 ADF 中当前时间的 Unix 时间戳。基本上我需要自纪元以来的毫秒数 (ms)。我尝试使用 ADF 中的内置刻度函数,但这不是我需要的。刻度上的 documentation 也不是很清楚。它表示自指定时间戳以来的滴答数是函数 returns 的内容。 1 tick = 100 纳秒 & 1000000 纳秒 = 1 毫秒。所以考虑到这一点,我在设置变量 activity 中使用了以下表达式:-
@{ div(ticks('1970-01-01T00:00:00.0000000Z'),10000) }
所以期望是每当我 运行 它时,它应该给我自纪元以来的毫秒数(直到执行的那一刻)——所以根据这个定义,每次我 运行吧,应该return给我一个不同的值。但它 return 每次我 运行 它都是一个固定值 62135568000000。所以要么文档不正确,要么它没有真正计算出我真正需要的东西。
函数 ticks() return 从 '0001-01-01T00:00:00.0000000Z' 到 ticks() 的参数的 ticks 数,而不是从 '1970-01-01T00:00:00.0000000 Z'。这就是为什么你总是得到一个固定值 62135568000000。
我试过了@{ticks('0001-01-01T00:00:00.0000000Z')}
,结果是0。
所以如果你想得到从 '1970-01-01T00:00:00.0000000Z' 到当前时间的毫秒数,你可以试试这个:@{div(sub(ticks(utcnow()),ticks('1970-01-01T00:00:00.0000000Z')),10000)}
.