GsonBuilder setDateFormat pour “2011-10-26T20:29:59-07:00”
J'obtiens une date/heure en json comme 2011-10-26T20:29:59-07:00
. Quelle est la bonne manière d'utiliser gsonBuilder.setDateFormat
pour formater correctement cette fois-ci?
Vous devez vous connecter pour publier un commentaire.
La
-07:00
est la norme ISO 8601 fuseau horaire de notation. Ce n'est pas pris en charge parSimpleDateFormat
jusqu'à Java 7. Donc, si vous pouvez mise à niveau de Java 7, vous pouvez utiliser leX
pour représenter le fuseau horaire notation:Sur Java 6 vous aurez besoin de faire un modèle d'appariement et de remplacement sur la chaîne JSON première pour remplacer le
-07:00
partie par la RFC 822 notation-0700
de sorte que vous pouvez utiliserZ
:ou par le temps général de la zone de notation
GMT-07:00
de sorte que vous pouvez utiliserz
:yyyy
.Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX").create();
pour obtenir millisecondes aussi. Je n'ai pas trouvé un moyen (autre que l'utilisation d'une coutume adaptateur) pour soutenir les deux formats.new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'").create()
. De cette manière, aucun rechercher et remplacer est nécessairePour Java 8 (je n'ai pas vérifié pour Java 7), il suffit d'utiliser le modèle
D'obtenir exactement le format de
2011-10-26T20:29:59-07:00
.Le fuseau horaire motif est de Java Date Heure - Format De Date Personnalisé Modèles
Mon api réponse de format de date en est exactement de même avec la vôtre, comme ceci:
dans le projet Android, j'utilise le code suivant, à la fois travailler pour moi.
"yyyy-MM-dd'T'HH:mm:ssX"
ne fonctionne pas sous Android, même si j'ai configed utilisation de Java 8 enbuild.gradle
.comment savons-nous que le format de la date, nous devrions définir, en fait, vous pouvez trouver la réponse à partir du code source de
SimpleDateFormat.java
:Il a été un moment depuis que cela a été posté, mais il est venu à travers elle lorsque vous essayez d'utiliser GSON pour analyser une API de réponse qui ont ce format de date. J'ai pensé que je voudrais partager les 2 petites fonctions que j'ai écrit à l'aide de regex pour trouver toutes les dates et modifier le format GSON pouvez ensuite analyser.