Вы можете сделать это (я изменил ваши переменные, чтобы они начинались с буквы в нижнем регистре, потому что Groovy предполагает, что переменные в верхнем регистре на самом деле являются именами классов, что может вызвать путаницу):
addSeconds = [3,4]
timeEpoch = [1575165652000, 1576424223000]
import java.time.*
import java.time.format.*
def formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")
def datesAsStrings = [addSeconds, timeEpoch]
.transpose()
.collect { a, t -> Instant.ofEpochMilli(t).plusSeconds(a).atZone(ZoneId.systemDefault()).toLocalDateTime() }
.collect { d -> d.format(formatter) }
datesAsStrings.each { println it }
Это берет ваши два списка и объединяет их вместе с transpose()
:
[ [3, 1575165652000], [4, 1576424223000] ]
Затем для каждого из них мы создаем момент, добавляем секунды и конвертируем его в LocalDateTime, используя текущий часовой пояс системы - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Затем мы конвертируем их в желаемый формат строки и распечатываем