如何解决如何使用 Dataweave 获取 UTC 时区中的日期
我有以下 dataweave 表达式,显示本地时区 (IST) 中今天日期前 90 天的时间和日期,我想将时区设为 GMT+00:00 而不是 GMT+05:30
我的 dataweave 表达式:
%dw 2.0 var time= now() output application/json
---
{
"date" : time - ("P$(90)D" as Period)
}
电流输出:
{
"date": "2020-11-12T09:14:15.908+05:30"
}
期望输出
{
"date": "2020-11-12T09:14:15.908+00:00"
}
解决方法
显示时区的方法有很多种,我告诉你一个我为你试过的例子 您的输入是 now()
%dw 2.0
var time= now()
output application/json
---
{
"date": (now() >> 'UTC') as DateTime {format: "dd-MMM-yy hh.mm.ss.SSSSSSSSS a VV"} as String {format: "yyyy-MM-dd'T'HH:mm:ss:SSS Z"}
}
这段代码的输出是:
{
"date": "2021-02-10T07:09:11:815 +0000"
}
注意:格林威治标准时间 (GMT) 和协调世界时 (UTC) 之间没有时差
您可以根据您的要求轻松修改此代码,例如,如果您想要 GMT +5:30 的相同代码,即亚洲/加尔各答时区 ID
如下图
%dw 2.0
var time= now()
output application/json
---
{
"date": (now() >> 'Asia/Calcutta') as DateTime {format: "dd-MMM-yy hh.mm.ss.SSSSSSSSS a VV"} as String {format: "yyyy-MM-dd'T'HH:mm:ss:SSS Z"}
}
所以要点在这里,您需要指定时区 ID 才能在输出中获取该 ID 这是官方文档链接,显示了当前 mulesoft 中所有时区 ID 的列表 (10-02-2021)- https://docs.mulesoft.com/mule-runtime/4.3/dataweave-cookbook-change-time-zone
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。