#jenkins #groovy
#дженкинс #groovy
Вопрос:
Однако я пытаюсь проанализировать следующую дату в Jenkins 2021-10-14T18:12:20.578 00:00
, я получаю сообщение об ошибке Unparseable date: "2020-01-01T10:10:20.578 00:00"
Это мой код, не уверен, что я делаю неправильно:
Date myDate= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parse("2020-01-01T10:10:20.578 00:00");
Редактировать:
Благодаря Kaus я обнаружил, что моя дата отформатирована неправильно и должна быть 2020-01-01T10:10:20.578GMT 00:00
Я получаю эту дату из некоторых других файлов. Я могу заменить на GMT следующим образом:
def myDate = "2020-01-01T10:10:20.578 00:00"
myDate = myDate.replaceAll("\ ", "GMT\ ")
Как я могу сделать то же самое, если моя дата "2020-01-01T10:10:20.578-06:00"
Следующее заменяет каждое «-»
def myDate = "2020-01-01T10:10:20.578-06:00"
myDate = myDate.replaceAll("\ ", "GMT\ ").replaceAll("\-", "GMT\-")
Вывод: "2020GMT-01GMT-01T10:10:20.578GMT-06:00"
Ответ №1:
Используйте X
для часового пояса ISO8601, а Z
не для часового пояса RFC 822.
(из https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html )
import java.text.SimpleDateFormat
Date myDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX")
.parse("2020-01-01T10:10:20.578 00:00")
Ответ №2:
Отсутствует GMT
Date myDate= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parse("2020-01-01T10:10:20.578GMT 00:00");
Комментарии:
1. Быстрый вопрос.. Я получаю эту дату откуда-то еще.. Я обновляю свой OP
2. @Oplop98 если вы не можете изменить строку даты, лучше использовать X вместо Z в программе форматирования даты.