Во-первых, как уже упоминалось в комментариях к вашему сообщению, 1 час равен 3600000 миллисекунд
Тогда я никогда не работал с StreamSets
, но смотрел на документ :
подпись метода, который вы пытаетесь использовать, - time:dateTimeToMilliseconds(<Date object>)
, и он возвращает Long
Его описание:
Преобразует объект Date в эпоху или время UNIX в миллисекундах.
То есть вы не можете вызвать его с этими параметрами , 'UTC', 'yyyy-MM-dd\'T\'HH:mm:ss.SSS'
Это может быть правильный синтаксис, который он ожидает:
${time:millisecondsToDateTime(time:dateTimeToMilliseconds(time:now()) - (3600000))}
Вы должны использовать другие функции, если хотите использовать часовой пояс:
time:millisecondsToDateTime(<long>)
возвращает Date object
а также
time:extractStringFromDateTZ(<Date object>, <time zone>, <format string>)
возвращает строку
Разве вы не можете связать их так?
${time:extractStringFromDateTZ(
time:millisecondsToDateTime(time:dateTimeToMilliseconds(time:now()) - 3600000),
'UTC',
'yyyy-MM-dd\'T\'HH:mm:ss.SSS')}