Объекты даты и времени не имеют «формата»
У меня есть Календарь, который возвращается в следующем формате (это тип Java Calendar): 2020-02-15T00: 00: 00.
Нет, ты не.
A Calendar
объект не имеет формата. Только текст, представляющий значение даты и времени, имеет формат.
следующий календарь, подобный этому и сохраняющий тип календаря: понедельник, 05 ноября 2018 14:08:58 GMT + 0000 (среднее время по Гринвичу)?
Не существует такого объекта, как Calendar
с таким форматом, поскольку Calendar
не имеет формата и не является текстом.
Научитесь искать переполнение стека перед публикацией. Это уже освещалось много раз.
java.time
Ужасный класс Calendar
был вытеснен несколько лет назад классом java.time с принятием JAR 310. Никогда не используйте Calendar
.
Получить текущее время в UTC с классом OffsetDateTime
.
OffsetDateTime odt = OffsetDateTime.now( ZoneOffset.UTC ) ;
Чтобы сгенерировать текст в стандартном формате ISO 8601, наберите toString
. Чтобы сохранить значение даты и времени в виде текста, используйте эти форматы - вот почему они были изобретены.
Чтобы сгенерировать текст в другом формате, используйте класс DateTimeFormatter
. Это было рассмотрено много раз, поэтому ищите переполнение стека.
Преобразование
Если задан объект GregorianCalendar
, немедленно преобразуйте его в объект ZonedDateTime
, вызвав новые методы, добавленные к старым унаследованным классам.
ZonedDateTime zdt = myGregCal.toZonedDateTime() ;
В ролях, если это будет необходимо.
ZonedDateTime zdt = ( (GregorianCalendar) myCal ).toZonedDateTime() ;
Затем используйте DateTimeFormatter
для генерации текста в нужном формате.