Использование буквенных символов в строке шаблона 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 ответ:
вокруг
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