Salut,

j'ai besoin de générer une chaine représentant une date xml xs:date (j'utilise jdom) à partir d'un type Date.

Pour générer un type xml xs:dateTime j'utilise ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
GregorianCalendar	gCalendar	= new GregorianCalendar();
 
	gCalendar.setTime(date);
 
	XMLGregorianCalendar	xmlCalendar	= DatatypeFactory.newInstance().newXMLGregorianCalendar(gCalendar);
 
	String resultat = xmlCalendar.toXMLFormat();
Je récupère ce genre de résultat :
2009-01-27T16:23:19.000+01:00
Et çà c'est bon.

Par contre, j'ai besoin du même genre de code pour avoir un xs:date, j'ai donc bidouillé comme çà n'ayant pas trouvé comment faire plus propre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
GregorianCalendar	gCalendar	= new GregorianCalendar();
 
	gCalendar.setTime(date);
 
	XMLGregorianCalendar	xmlCalendar	= DatatypeFactory.newInstance().newXMLGregorianCalendar(gCalendar);
 
	String res = xmlCalendar.toXMLFormat();
	String resultat = res.substring(0, res.indexOf("T")) + res.substring(res.indexOf("+"));
Bon, cela fonctionne, j'ai bien çà en retour :

2009-01-27+01:00
Mais j'aimerai un code plus propre

N'hésitez pas ....