Как получить дату в часовом поясе UTC с помощью Dataweave

#timezone #dataweave #mulesoft

#Часовой пояс #dataweave #mulesoft

Вопрос:

У меня есть следующее выражение dataweave, которое отображает время и дату за 90 дней до сегодняшней даты в моем местном часовом поясе (IST), я хочу получить часовой пояс как 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"
}
 

Ответ №1:

существует так много способов отображения часового пояса, я сообщаю вам один пример, который я попробовал для вас, ваш ввод был 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, который является идентификатором часового пояса Азии / Калькутты

это будет, как показано ниже

 %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"}
}
 

итак, главное здесь в том, что вам нужно указать идентификатор часового пояса, чтобы получить его в своих выходных
данных, и это официальная ссылка на документ, в которой показан список всех идентификаторов часовых поясов в mulesoft на сегодняшний день (10-02-2021) — https://docs.mulesoft.com/mule-runtime/4.3/dataweave-cookbook-change-time-zone

Спасибо

Комментарии:

1. Спасибо, анураг, я попробую, спасибо за описание.

2. Хорошо, Рави, пожалуйста, попробуйте и сообщите нам об аудитории, проголосовав за ответ, поскольку это полезно, и отметьте как принятое, если это решит проблему. Спасибо

3. Этот URL-адрес больше не работает. Содержимое было перемещено в docs.mulesoft.com/dataweave/2.4 /… ?

4. да, теперь он перемещен сюда docs.mulesoft.com/dataweave/2.4 /…