Bonjour à tous,
je suis débutant en Java / XML.
Je suis obligé de caster une Date en XMLGregorianCalendar mais je n'y arrive pas.
J'ai beau cherché sur Internet mais je ne trouve pas la solution.
Quelqu'un peut il m'aider s'il vous plait ?
Merci
Version imprimable
Bonjour à tous,
je suis débutant en Java / XML.
Je suis obligé de caster une Date en XMLGregorianCalendar mais je n'y arrive pas.
J'ai beau cherché sur Internet mais je ne trouve pas la solution.
Quelqu'un peut il m'aider s'il vous plait ?
Merci
Salut crakos,
Les formats de date c'est assez rapidement la galère.
D'après la javadoc, dans un sens: ton XMLGregorianCalendar( http://java.sun.com/j2se/1.5.0/docs/...orianCalendar() ) possède une fonction toGregorianCalendar(). A partir de là ( http://java.sun.com/j2se/1.5.0/docs/...nCalendar.html ) tu hérite de Calendar la méthode getTime qui te renvoi une Date
Dans l'autre sens: Il existe apparemment un paquet de constructeur, mais celui-la semble plus simple: DatatypeFactory.newXMLGregorianCalendarDate( int year, int month, int day, int timezone). Maintenant si tu pars d'un java.util.Date, vu que la plupart des fonctions sont "deprecated", il ne reste que getTime() qui renvoi le nombre de secondes depuis le 1 janvier 1970, 00:00:00 GMT. A partir de la, faut faire des calculs pour passer des millisecondes aux jour, mois et année.
J'espère que ça pourra t'aider,
Bon courage,
Tif
Je pense que le plus simple est d'utiliser la méthode newXMLGregorianCalendar() de la classe DatatypeFactory qui attend un GregorianCalendar auquel on peut spécifier une Date via la méthode setTime() héritée de la classe Calendar :
Code:
1
2
3 GregorianCalendar gCalendar = new GregorianCalendar(); gCalendar.setTime(date); XMLGregorianCalendar xmlCalendar = DatatypeFactory.newXMLGregorianCalendar(gCalendar);
Merci ça marche très bien. :)
Effectivement, c'est plus simple. Ca m'avait echappé (mais ça perd de son charme;) , j'aimais bien avec les calculs...je dois être un peu maso?)
Merci le y@m's,
A++