Le format de date qui est émis sous forme de réponse au client de service Web par Axis2 est formaté comme "2009-08-28 + 01: 00". Je voudrais changer cela pour ne montrer que la date sans les informations de fuseau horaire (par exemple: "2009-08-28") p>
Axe 2 1.4.1 P>
2009-01-28Z
4 Réponses :
vous ne pouvez pas. P>
Son espace de valeur est décrit comme une combinaison de date et d'heure de la journée au chapitre 5.4 de l'ISO 8601. Son espace lexical est le format étendu: P>
[-] ccyy-mm-ddthh: mm: ss [z | (+ | -) HH: mm] p>
Le fuseau horaire peut être spécifié comme z (UTC) ou (+ | -) HH: mm. Les zones de temps qui ne sont pas spécifiées sont considérées comme indéterminées. P> blockQuote>
http://books.xmlschemata.org/relaxng/ch19-77049.html p>
EDIT: P>
Pour référence Voir XML Schema Partie 2: DaTatypes Deuxième édition 3.2.7 DateTime < / a> p>
Il n'est en fait pas datétime ce que j'utilise, mais en principe, vous avez raison ( Livres. xmlschemata.org/relaxng/ch19-77041.html )
Un autre: la spécification de la date indique que le fuseau horaire est facultatif.
C'est possible! Voir ma réponse.
Les spécifications permettent à TimeZone d'être facultatif: w3.org/tr/xmlschema-2/#Date
J'ai eu le même problème et il est possible de supprimer le fuseau horaire des dates!
Vous pouvez utiliser votre propre convertisme créé. p>
Au début, vous devez créer une classe avec votre méthode / méthodes de conversion personnalisées: p> alors vous devez définir cette classe comme system_property_adb_converterutil code>: p>
Je suis confronté au même problème et essaye d'appliquer la solution ci-dessus mais qui ne fonctionne pas pour moi. Il n'appelle pas le personnalisé
Le problème est dû à l'utilisation d'un objet Calendrier comme valeur source pour XSD: champ de date. Lorsque vous obtenez une instance de calendrier, cela va toujours avec le fuseau horaire (le fuseau horaire par défaut est utilisé s'il n'est pas spécifié explicitement). Pour éliminer la méthode Effacer () Effacer () et restaurer tous les champs à l'exclusion du fuseau horaire. Ensuite, la bibliothèque de mappage XML (j'ai testé avec Xmlbeans, mais je pense qu'il est également vrai que d'autres bibliothèques de liaison prises en charge par Axis) génèrent XML sans suffixe TimeZone.
Calendar myDate = Calendar.getInstance(); // returns GregorianCalendar Calendar now = (Calendar)myDate.clone(); // save current timestamp myDate.clear(); // this clears the fields, including Calendar.ZONE_OFFSET myDate.set( //set all fields back from the saved copy now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH), now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE), now.get(Calendar.SECOND) );
Cela me conduisait en colère! Merci!
Il existe une méthode claire du calendrier qui accomplira ce dont vous avez besoin. Pour vous débarrasser du décalage du fuseau horaire, procédez simplement comme suit: p>
cal.clear (calendrier.zone_offset); p>
Notez qu'un temps sans décalage de fuseau horaire est ambigu. Il laisse le consommateur du temps Pour deviner le décalage UTC. P>