Usando caracteres alfabéticos em SimpleDateFormat cadeia padrão
-
19-09-2019 - |
Pergunta
É possível incluir um caractere alfabético em uma cadeia padrão SimpleDateFormat?
Eu estou tentando criar uma seqüência de formato, onde a letra 'T' é incluído antes do tempo, por exemplo:
2003/11/15 T 09: 30: 47-05:. 00
Atualmente, estou usando yyyy-MM-ddhh:mm:ssZ
como a cadeia padrão.
Se eu mudá-lo para yyyy-MM-ddThh:mm:ssZ
ele irá lançar uma exceção como 'A' a 'Z' e 'a' a 'z' são reservados.
Existe alguma solução que não envolvem o uso de dois DateFormats?
Solução
Em torno da T
com aspas simples deve funcionar:
yyyy-MM-dd'T'hh:mm:ssZ
a documentação (ênfase meus):
formatosData e hora são especificadas por data e hora cadeias padrão. Dentro de data e tempo padrão cordas, cartas não cotadas de
'A'
para'Z'
e de'a'
para'z'
são interpretados como cartas padrão que representa os componentes de uma seqüência de data ou hora. O texto pode ser citado usando aspas simples ('
) à interpretação evitar."''"
representa uma única citação. Todos os outros caracteres não são interpretados; eles estão simplesmente copiado para a cadeia de saída durante a formatação ou comparado com a seqüência de entrada durante a análise.
O seu caso de uso específico é mesmo incluído como um exemplo:
Date and Time Pattern Result
-------------------------------------------------------------
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700