json 逻辑应用程序-将“YYYY-MM-DD HH:MM:SS”转换为自历元以来的毫秒数

2nbm6dog  于 2022-12-15  发布在  其他
关注(0)|答案(2)|浏览(87)

我从源中获取以下JSON数据,日期为“YYYY-MM-DD HH:MM:SS”格式,我想在将其发送到目的地之前将其转换为纪元的毫秒数,有人能帮助我在Logic App中完成吗?
源数据:

{
   "result":[
      {
         "number":"123",
         "name":"ABC",
         "created":"2018-09-19 09:03:03"
      }
   ]
}

所需数据:

{
   "result":[
      {
         "number":"123",
         "name":"ABC",
         "created":"1537304583000"
      }
   ]
}
ygya80vv

ygya80vv1#

Azure逻辑应用程序只有ticks方法可以将时间戳转换为ticks数字。
可以使用sub方法通过减法将ticks转换后的值转换为Epoch

表情:

sub(ticks('2018-09-19 09:03:03'),636727908525417000)

636727908525417000ticks('2018-09-19 09:03:03')与您给出的1537304583000之间的差值。
你可以参考这篇文章:
https://devkimchi.com/2018/11/04/converting-tick-or-epoch-to-timestamp-in-logic-app/

kupeojn6

kupeojn62#

获取Epoch格式当前时间的逻辑应用程序表达式:

div(sub(ticks(utcNow()),621355968000000000),10000000)

说明:

  • utcNow()获取日期时间,默认格式为“o”(yyyy-MM-ddTHH:mm:ss.fffffffK)。
  • utcNow()可以替换为ticks("myTimestamp")parseDateTime("myTimestamp")
  • ticks()/ticks(utcNow())将日期时间转换为自January 1, 0001 12:00:00(又名“刻度”)以来的100纳秒间隔。
  • 硬编码值:621355968000000000-等于1970-01-01T00:00:00Z的ticks值,即Unix纪元的开始。
  • sub()/sub(ticks(utcNow()),621355968000000000)从Unix纪元开始的硬编码刻度值中减去日期时间的刻度数。
  • div()/div(sub(ticks(utcNow()),621355968000000000),10000000)通过将节拍除以10,000,000,可以将节拍从100纳秒转换为毫秒。

相关问题