9
votes

Analyse de la chaîne de date JavaScript en Java

Un client JavaScript envoie des chaînes à mon serveur, dont l'une est sous la forme d'une représentation de chaîne d'un objet de date javascript.

Maintenant, cet objet de date JavaScript a son propre formatage et je me demandais simplement s'il y a une classe qui fait la bonne conversion, car je rencontre des problèmes avec le SimpleDateDeformatter . .

Voici comment une chaîne de date JavaScript ressemble à: Tue fév 12 2013 21:12:28 GMT + 0100 (CET)


2 commentaires

Quels sont vos problèmes avec SimpleDateDeformat?


Essayez MOMENT.JS, faites-moi confiance à moi, vous vous débarrasserez de toutes ces questions ennuyeuses.


3 Réponses :


3
votes

Personnellement, je préfère le JODA TIME FORMATTERS POUR UNE RAISON MATAIRE: SONT THILLE-SAFE et immuable, vous pouvez donc en créer un, le garder statiquement et le réutiliser sans aucune inquiétude. Joda permet également une spécification facile des fuseaux horaires, etc. Bien sûr, ils finissent par créer des objets Joda, qui est un autre avantage imo - J'essaye d'éviter les apotes de date / heure de Java dans la mesure du possible.

Cela dit, nous aurions besoin d'en savoir plus sur le format que vous essayez d'analyser et de ce qui ne va pas avec SimpleDateDeformatatter . (En règle générale, si vous «éprouver des problèmes» avec quelque chose et que vous voulez que ces problèmes sont résolus, il aide à décrire ce que les problèmes sont, idéalement avec un programme court mais complet pour démontrer le problème.)


0 commentaires

12
votes

meilleure façon de sérialiser la date à JavaScript consiste à utiliser toutcstring code> (non seulement tostring () code>); ToutCstring code> produira une date RFC 822 (dans le même format que celui utilisé par http). Ensuite, vous pouvez simplement utiliser le modèle SimpleDateFormat suivant pour l'analyser en Java:

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH)


1 commentaires

Si vous ne contrôlez pas le producteur de la date et que vous utilisez .Toutcstring () n'est pas une option, vous pouvez utiliser ce format: "Ee mmm dy h: m: s 'Gmt'z (zz) "



1
votes

java.time em>

Le java.util code> API de date-heure et leur API de formatage, SimpleDateFormat code> est obsolète et érection d'erreur . Il est recommandé d'arrêter de les utiliser complètement et de passer à la API moderne de date-heure * sup>. p>

aussi, cité ci-dessous est un avis de la Page d'accueil de Joda-Time Strong> : P>

Notez que de Java SE 8 à partir de 8, les utilisateurs sont invités à migrer vers Java.time (JSR-310) - une partie principale du JDK qui remplace ce projet. P> blockQuote>

solution en utilisant java.time code>, l'API de date moderne: strong> p> xxx pré>

SORTIE: STRAND> P>

Date date = Date.from(zdt.toInstant());


0 commentaires