Вопрос неясен, но я понимаю, что с учетом даты вы хотите вернуть трехзначное название месяца, текущий, если день месяца 15, то это должен быть следующий месяц, а не текущий.
Я создал функцию DataWeave, чтобы вернуть это:
%dw 2.0
output application/json
fun month15(date : DateTime)=upper((if (date.day >15) (date + |P1M|) else date) as String {format:"MMM"}) ++ date as String {format:"-yyyy_yyyy_MM_dd_HH_mm"}
---
{
now: month15(now()),
june15: month15(|2020-06-15T18:03:01Z|),
june19: month15(|2020-06-19T10:15:54Z|)
}
Вывод:
{
"now": "JUL-2020_2020_06_21_14_24",
"june15": "JUN-2020_2020_06_15_18_03",
"june19": "JUL-2020_2020_06_19_10_15"
}
Обновлен новым шаблоном, запрошенным в комментариях, для которых требуется аргумент DateTime.