Можно ли переписать неподдерживаемый часовой пояс UT на UTC?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Можно ли переписать неподдерживаемый часовой пояс UT на UTC?

Сообщение Anonymous »


Я пытаюсь проанализировать заголовки дат в электронных письмах.

Иногда электронные письма имеют такой заголовок даты:

Пн, 18 июля 2011 г. 05:05:53 UT Похоже на формат, описанный в javadoc


Изображение


Итак, я написал для этого тест:

public void testParser() выдает ParseException { SimpleDateFormat FULL_FORMAT = new SimpleDateFormat("EEE, d MMM гггг ЧЧ:мм:сс Z", Locale.ENGLISH); пытаться { String baddate = "Пн, 18 июля 2011 г., 05:05:53 UT"; System.out.println("СЕЙЧАС: " + FULL_FORMAT.format(новая дата())); System.out.println("THEN: " + FULL_FORMAT.parse(baddate + "C")); System.out.println("---"); System.out.println(FULL_FORMAT.parse(baddate)); } catch (Исключение е) { e.printStackTrace(System.out); } System.out.println("UTC: " + TimeZone.getTimeZone("UTC")); System.out.println("UT: " + TimeZone.getTimeZone("UT")); } И вот результат:

[INFO] Запуск de.e_nexus.web.rm.mail.TestDateParser СЕЙЧАС: Чт, 29 февраля 2024 г., 11:50:52 +0100 ТОГДА: понедельник, 18 июля, 07:05:53 по центральноевропейскому летнему времени 2011 г. --- java.text.ParseException: неразбираемая дата: «Пн, 18 июля 2011 г., 05:05:53 UT» в java.base/java.text.DateFormat.parse(DateFormat.java:399) по адресу de.e_nexus.web.rm.mail/de.e_nexus.web.rm.mail.TestDateParser.testParser(TestDateParser.java:17) в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) в java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.base/java.lang.reflect.Method.invoke(Method.java:568) в org.apache.maven.surefire.junit.PojoTestSetExecutor.executeTestMethod(PojoTestSetExecutor.java:104) в org.apache.maven.surefire.junit.PojoTestSetExecutor.execute(PojoTestSetExecutor.java:63) в org.apache.maven.surefire.junit.JUnit3Provider.executeTestSet(JUnit3Provider.java:131) в org.apache.maven.surefire.junit.JUnit3Provider.invoke(JUnit3Provider.java:93) в org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385) в org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162) в org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507) в org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495) UTC: sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] UT: sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] [ИНФО] Выполнено тестов: 1, Сбоев: 0, Ошибок: 0, Пропущено: 0, Затрачено времени: 0,044 с — в de.e_nexus.web.rm.mail.TestDateParser Часовой пояс UT явно существует (может быть похож на UTC или такой же, как UTC), но Java точно не поддерживает часовой пояс UT.

Можно ли переписать UT в UTC?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»