无法在Mule 4中将Unix时间戳正确转换为DateTime



因此,我正试图将Unix时间戳转换为人类可读日期格式(例如:2021年1月20日(。

这是我从API得到的响应,它给出了Unix时间戳

"time":1388620296020

然后我尝试使用转换消息进行转换,我的代码看起来像这个

date: (object.properties.time as DateTime) as String {
format: "MMMM dd, yyyy"
},

但我部署后得到的输出是这样的

"date": "August 17, +45973"

我不知道为什么会发生这种事。

Epoch可以在Dataweave 中直接转换为DateTime

试试这个

date:(object.properties.time作为DateTime{单位:"毫秒"}(

输出:

"日期":"2014-01-01T23:51:36.02Z";

您可以通过在下面的链接中输入来检查输出

https://www.unixtimestamp.com/

https://www.epochconverter.com/

另一种获得确切格式的方法,如您在quesion中提到的(例如:2021年1月20日(,可以通过以下脚本实现

%dw 2.0
output application/json
---
date: payload.message as DateTime {unit : "milliseconds"}
as String {format: 'MMMM dd,yyyy'}

该脚本将输出为:

{
"date": "January 01,2014"
}

在Mule 4中将Unix时间戳转换为日期时间输入:{"时间":1388620296020}---------输出----------{"日期":"2014年1月1日11:51:36";}

如何编写脚本,您了解正确的日期时间格式。%dw 2.0输出应用程序/json

{date:payload.time为DateTime{单位:"毫秒"}为字符串{格式:"dd MMM yyyy hh:mm:ss"}}

有关更多信息,请链接:https://help.mulesoft.com/s/question/0D52T00004tIkcf/how-to-convert-unix-timestamp-to-normal-human-readable-timestamp-using-dw-20

感谢

最新更新