74 votes

Utilisation de caractères alphabétiques dans la chaîne de modèle SimpleDateFormat

Est-il possible d'inclure un caractère alphabétique dans un SimpleDateFormat Chaîne de Modèle?

Je suis en train de créer une chaîne de format où la lettre " T " est inclus avant le temps par exemple:

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

Je suis actuellement en utilisant yyyy-MM-ddhh:mm:ssZ que la chaîne de modèle.

Si je la changer en yyyy-MM-ddThh:mm:ssZ il va lever une exception 'A' à 'Z' et de 'a' à 'z' sont réservés.

Est-il une solution qui n'implique pas l'utilisation de deux DateFormats?

133voto

Joey Points 148544

Entourant l' T avec des guillemets simples devrait fonctionner:

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

Citant la documentation (l'emphase est mienne):

Formats de Date et heure indiquée par la date et l'heure chaînes de modèle. À l'intérieur de la date et de l'heure chaînes de modèle, non cotées lettres de 'A' de 'Z' et de 'a' de 'z' sont interprétés en tant que modèle de lettres représentant les composants d'une date ou de l'heure de chaîne. Le texte peut être cité à l'aide de guillemets simples (') afin d'éviter toute interprétation. "''" représente un seul devis. Tous les autres caractères ne sont pas interprétés; ils sont simplement copiés dans la chaîne de sortie pendant le formatage ou en correspondance avec la chaîne d'entrée lors de l'analyse.

Votre cas d'utilisation spécifiques est même incluse à titre d'exemple:

Date and Time Pattern            Result
-------------------------------------------------------------
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"     2001-07-04T12:08:56.235-0700  

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X