OVH Cloud OVH Cloud

Convertir une chaîne en date

3 réponses
Avatar
LR
Salut,

J'essaie de convertir une chaîne jj/MM/aaaa hh:mm en date.

J'ai une fonction :
public static Date stringToDate( String date, String format ) throws
Exception
{
SimpleDateFormat sdf = new SimpleDateFormat( format );
return sdf.parse( date );
}

Ca marche bien, sauf quand je fais :
String s3 = "22/03/1979 12:10";
Date d2 = DatesUtils.stringToDate( s3, "dd/MM/yyyy hh:mm" );
System.out.println( d2 );

qui me donne :
Thu Mar 22 00:10:00 CET 1979

alors que j'aurais attendu
Thu Mar 22 12:10:00 CET 1979

Comment gérer ça ?

Merci d'avance
Lilian

3 réponses

Avatar
Arnaud Berger
Bonjour,

HH à la place de hh devrait résoudre le problème (cf.javadoc
SimpleDateFormat)

Cordialement,

Arnaud

"LR" a écrit dans le message news:

Salut,

J'essaie de convertir une chaîne jj/MM/aaaa hh:mm en date.

J'ai une fonction :
public static Date stringToDate( String date, String format ) throws
Exception
{
SimpleDateFormat sdf = new SimpleDateFormat( format );
return sdf.parse( date );
}

Ca marche bien, sauf quand je fais :
String s3 = "22/03/1979 12:10";
Date d2 = DatesUtils.stringToDate( s3, "dd/MM/yyyy hh:mm" );
System.out.println( d2 );

qui me donne :
Thu Mar 22 00:10:00 CET 1979

alors que j'aurais attendu
Thu Mar 22 12:10:00 CET 1979

Comment gérer ça ?

Merci d'avance
Lilian




Avatar
LR
Bonjour,

HH à la place de hh devrait résoudre le problème (cf.javadoc
SimpleDateFormat)

Cordialement,

Arnaud


Exact, merci pour ton aide
a+
Lilian





"LR" a écrit dans le message news:

Salut,

J'essaie de convertir une chaîne jj/MM/aaaa hh:mm en date.

J'ai une fonction :
public static Date stringToDate( String date, String format ) throws
Exception
{
SimpleDateFormat sdf = new SimpleDateFormat( format );
return sdf.parse( date );
}

Ca marche bien, sauf quand je fais :
String s3 = "22/03/1979 12:10";
Date d2 = DatesUtils.stringToDate( s3, "dd/MM/yyyy hh:mm" );
System.out.println( d2 );

qui me donne :
Thu Mar 22 00:10:00 CET 1979

alors que j'aurais attendu
Thu Mar 22 12:10:00 CET 1979

Comment gérer ça ?

Merci d'avance
Lilian








Avatar
Fabien Bergeret
LR wrote:
Bonjour,

HH à la place de hh devrait résoudre le problème (cf.javadoc
SimpleDateFormat)

Cordialement,

Arnaud



Exact, merci pour ton aide
a+
Lilian





"LR" a écrit dans le message news:


Salut,

J'essaie de convertir une chaîne jj/MM/aaaa hh:mm en date.

J'ai une fonction :
public static Date stringToDate( String date, String format ) throws
Exception
{
SimpleDateFormat sdf = new SimpleDateFormat( format );
return sdf.parse( date );
}

Ca marche bien, sauf quand je fais :
String s3 = "22/03/1979 12:10";
Date d2 = DatesUtils.stringToDate( s3, "dd/MM/yyyy hh:mm" );
System.out.println( d2 );

qui me donne :
Thu Mar 22 00:10:00 CET 1979

alors que j'aurais attendu
Thu Mar 22 12:10:00 CET 1979

Comment gérer ça ?

Merci d'avance
Lilian








Juste pour preciser : le hh donne une heure de 0 a 12, passke les

createurs de Java sont Americains, et que les heures americaines sont en
A.M.-P.M (de 0 a 12 plus un flag pour dire matin ou apres-midi). D'ou
ce "piege" du hh q