#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. Спасибо. Это работает!. И спасибо за объяснение.