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

Действительно ли возможно включать буквенный символ в Строку образца SimpleDateFormat?

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

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

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

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

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

72
задан Raedwald 13 June 2013 в 12:21
поделиться

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  
130
ответ дан 24 November 2019 в 12:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: