Question

Est-il possible d'inclure un caractère alphabétique dans une chaîne de motifs SimpleDateFormat?

Je suis en train de créer une chaîne de format où est inclus la lettre « T » avant l'heure, par exemple:

2003-11-15 T 09: 30: 47-05:. 00

Je suis actuellement en utilisant yyyy-MM-ddhh:mm:ssZ comme chaîne de motif.

Si je change à yyyy-MM-ddThh:mm:ssZ il lancera une exception en tant que 'A' à 'Z' et 'a' à 'z' sont réservés.

Y at-il une solution qui ne nécessite pas l'utilisation de deux DateFormats?

Était-ce utile?

La solution

Autour de la T avec des guillemets simples devrait fonctionner:

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

Je cite la documentation (l'accent le mien):

  

formats de date et l'heure spécifiées par des chaînes de motifs date et l'heure. Au sein de la date et les chaînes motif de temps, non cotées lettres de 'A' à 'Z' et de 'a' à 'z' sont interprétées comme des lettres de motifs représentant les composants d'une chaîne de date ou l'heure. Le texte peut être cité utilisant des guillemets simples (') afin d'éviter l'interprétation. "''" représente une seule citation. Tous les autres personnages ne sont pas interprétés; ils sont simplement copiés dans la chaîne de sortie lors de la mise en forme ou en correspondance à la chaîne d'entrée lors de l'analyse syntaxique.

Votre cas spécifique d'utilisation est même inclus à titre d'exemple:

Date and Time Pattern            Result
-------------------------------------------------------------
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"     2001-07-04T12:08:56.235-0700  
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top