因此,我正试图将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
感谢