Как мне отформатировать эту дату и время?

#dataweave #mulesoft

Вопрос:

 %dw 2.0 output application/json var timeStamp = "2021-11-11 00:32:47.5220000" --- timeStamp as LocalDateTime {format: "yyyy-mm-dd"}  

Мне нужна дата вывода «2021-11-11».

Я очень слаб в преобразовании дат.

Ответ №1:

Во-первых, вам нужно будет преобразовать строковое представление даты и времени в дату и время. В этом случае, поскольку строка содержит дату и время без часового пояса, она должна быть преобразована в LocalDateTime.

Как только строковое представление преобразуется в тип данных даты и времени, его можно преобразовать обратно в строку в нужном формате.

Вы можете использовать следующее выражение DataWeave в качестве ссылки для реализации вашего решения:

 %dw 2.0 output application/json var timeStamp = "2021-11-11 00:32:47.5220000"  fun strToLocalDateTime(dateTimeStr, format) =  dateTimeStr as LocalDateTime {format: format}  fun formatLocalDateTime(dateTime, format) =   dateTime as String {format: format}  fun convertDateTimeFormats(dateTimeStr, fromFormat, toFormat) =  formatLocalDateTime(strToLocalDateTime(dateTimeStr, "yyyy-MM-dd HH:mm:ss.SSSSSSS"), "yyyy-MM-dd")  --- convertDateTimeFormats(timeStamp, "yyyy-MM-dd HH:mm:ss.SSSSSSS", "yyyy-MM-dd")  

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

1. Спасибо. Это работает!. И спасибо за объяснение.