web-dev-qa-db-fra.com

SimpleDateFormat 24h

J'ai un SimpleDateFormat pour analyser un String dans un Date:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");

Quand j'analyse ceci:

format.parse("2011-08-29T12:44:00+0200");

Le résultat sera, lors de l'utilisation de Date.toLocaleString:

29 août 2011 00:44:00

Cela devrait bien sûr être:

29 août 2011 12:44:00

Et quand j'analyse ceci:

format.parse("2011-08-29T13:44:00+0200");

Ensuite, le résultat est comme prévu:

29 août 2011 13:44:00

Comment puis-je réparer cela?

31
nhaarman

tilisez HH au lieu de hh pour le modèle d'heures :

H   Hour in day (0-23)  Number  0
k   Hour in day (1-24)  Number  24
K   Hour in am/pm (0-11)    Number  0
h   Hour in am/pm (1-12)    Number  12
100
martin clayton