Использование буквенных символов в строке шаблона SimpleDateFormat


можно ли включить алфавитный символ в строку шаблона SimpleDateFormat?

Я пытаюсь создать строку формата, где буква ' T ' включена до времени, например:

2003-11-15T09:30:47-05:00.

в настоящее время я использую yyyy-MM-ddhh:mm:ssZ в строке шаблона.

Если я изменю его на yyyy-MM-ddThh:mm:ssZ это вызовет исключение, поскольку " A " к " Z " и " a " к " z " зарезервированы.

есть ли решение, которое не включает в себя использование двух DateFormats?

1 67

1 ответ:

вокруг T с одинарными кавычками должно работать:

yyyy-MM-dd'T'hh:mm:ssZ

цитирую документация (выделено мной):

форматы даты и времени задаются строками шаблона даты и времени. В строках шаблона даты и времени, некотируемые буквы из 'A' до 'Z' и 'a' до 'z' интерпретируются как буквы шаблона, представляющие компоненты строки даты или времени. текст может быть процитирован с помощью одинарные кавычки ('), чтобы избежать интерпретации."''" представляет собой одинарную кавычку. Все остальные символы не интерпретируются, они просто копируются в выходную строку во время форматирования или сравнивается с входной строкой во время парсинга.

ваш конкретный случай использования даже включен в качестве примера:

Date and Time Pattern            Result
-------------------------------------------------------------
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"     2001-07-04T12:08:56.235-0700