Java Datetime avec le Fuseau horaire format
Je suis actuellement en utilisant SimpleDateFormat
pour créer une valeur de type datetime au format yyyy-MM-dd HH:mm:ss
. Voici mon code:
Date date = new SimpleDateFormat("yy-M-d H:m:ss").parse(datetime);
String Dtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
Cependant, je voudrais que le format de ce lieu:
2013-04-12T13:38:48+02:00
Comment puis-je ajouter le fuseau horaire pour obtenir le format souhaité?
Merci!
vous pouvez suivre le lien de débordement de Pile : stackoverflow.com/questions/1305350/...
OriginalL'auteur diego10 | 2013-04-12
Vous devez vous connecter pour publier un commentaire.
Ont un coup d'oeil à la documentation de l'API de SimpleDateFormat. De là, vous pouvez le voir, que vous pouvez utiliser le caractère 'z' pour les informations de fuseau horaire.
Exemple: "aaaa.MM.jj G 'à' HH:mm:ss z" vous donnera "2001.07.04 ANNONCE à 12:08:56 PDT"
De régler le fuseau horaire sur une date regarder cette question et les réponses.
FYI - avec ou sans la
:
, et avec ou sans laT
sont à la fois des formes acceptables de format ISO8601. Donc, en supposant que vous voulez ce format pour les échanges avec quelque chose - vous devez être bien. Encore, vous voudrez peut-être regarder dans le Joda Time si vous voulez supérieure de la date de la manipulation.oui..j'ai compris..merci!
OriginalL'auteur thalador
C'est XML/XSD type de données dateTime au format. Utilisation javax.xml.type de données.XMLGregorianCalendar
sortie
OriginalL'auteur Evgeniy Dorofeev
J'ai été à la recherche d'exactement la même réponse. Je dois être compatible à l'actuel format de la date, qui est, comme dans l'exemple - "2013-04-12T13:38:48+02:00" et mon autre limitation est que je ne peut pas utiliser de bibliothèques open source autre que ce qui est fourni avec la version 6 de Java. Par conséquent, après ne pas trouver la solution ici, je suis venu avec cette simple technique de conversion, ce qui est assez moche, mais j'ai compris que je poste ici au cas où quelqu'un a besoin d'un rapide et sale de la solution. Si quelqu'un sait comment faire mieux (avec les limites que j'ai mentionné), merci de me corriger.
Par conséquent, pour produire la sortie dans le format désiré:
Comme je l'ai dit, c'est loin d'être parfait, mais je n'ai pas trouver quelque chose de mieux..
OriginalL'auteur tulu
Si vous utilisez le 'z', 'Z', puis encore vous ne pouvez pas être sûr de savoir comment votre fuseau horaire. Cela dépend de vos locaux et de la JVM version de la ISO8601 version sera choisi.
La façon d'avoir un fuseau toujours dans le format "+02:00" est à la demande. Utilisez les suivantes format de la date:
Et de l'utiliser toujours avec le
ZonedDateTime
type. Il est thread-safe.OriginalL'auteur swist
Vous faire facilement par paquet
java.util.Calendar
Essayez le code suivant
OriginalL'auteur kark