Bonjour à tous,

J'ai un soucis dans l'utilisation de la classe SimpleDateFormat.

à la base, je reçois une date sous forme de String et sous le format ISO 8601:2000 (sYYYY-MM-DDThh:mm:ss.sssTZD)

J'ai donc fait une méthode pour vérifier la validité de la date que je reçois, et je n'arrive pas à la faire fonctionner.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
private Date stringToDate() {
	try {
		String sDate = "2009-08-24T10:20:30.290-04:00" ;
        SimpleDateFormat sdf = new SimpleDateFormat("syyyy-MM-dd'T'hh:mm:ss.sssTZD");
        return sdf.parse(sDate);
        }
	catch (Exception error) {
			error.printStackTrace(); 
			return null ;
	}
}
je reste bloqué avec le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
java.lang.IllegalArgumentException: Illegal pattern character 'T'
	at java.text.SimpleDateFormat.compile(Unknown Source)
	at java.text.SimpleDateFormat.initialize(Unknown Source)
	at java.text.SimpleDateFormat.<init>(Unknown Source)
	at java.text.SimpleDateFormat.<init>(Unknown Source)
	at be.fgov.minfin.drmc.wsecm.mainTest.stringToDate(mainTest.java:138)
	at be.fgov.minfin.drmc.wsecm.mainTest.controlDataType(mainTest.java:122)
	at be.fgov.minfin.drmc.wsecm.mainTest.getQuery(mainTest.java:81)
	at be.fgov.minfin.drmc.wsecm.mainTest.run(mainTest.java:37)
	at be.fgov.minfin.drmc.wsecm.mainTest.main(mainTest.java:25)
Si quelqu'un à la solution, ou bien une autre méthode pour vérifier la validité de ma date, je suis preneur.

Merci.