Действительно ли возможно включать буквенный символ в Строку образца SimpleDateFormat?
Я пытаюсь создать строку формата, где буква 'T' включена перед временем, например:
2003-11-15T09:30:47-05:00.
Я в настоящее время использую yyyy-MM-ddhh:mm:ssZ
как строка образца.
Если я изменяю его на yyyy-MM-ddThh:mm:ssZ
это выдаст исключение, поскольку к 'Z' и к 'z' резервируются.
Есть ли какое-либо решение, которое не включает использование двух DateFormats?
Окружение 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