Bonjour,

J'ai essayer de chercher sur le forum mais je ne trouve pas de réponse à mon problème. J'utilise Date::Manip version 5.54. J'essaie d'initialiser la timezone de cette manière et je rencontre un problème.

voici mon code (où $p_stringDate est la date que récupère d'un attribut XML) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Date_Init("Language=French","TZ=FST");
my $date = ParseDate($p_stringDate);
return UnixDate($date,"%Y-%m-%d");
voici le résultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
DATE : '05/12/10' 	=> FORMATAGE : 	'2010-05-12'
DATE : '5-déc.-10' 	=> FORMATAGE : 	'2010-12-05'
DATE : '5-12-2010' 	=> FORMATAGE : 	''
Le résultat attendu est 2010-12-05. Je n'arrive pas à comprendre pourquoi j'ai des résultats différents. Est ce lié à la timezone (FST), ai-je oublié de préciser qqchose?

D'autre part, comment gérer efficacement la passage heure d'hiver/heure d'été et vice versa .Sur CPAN l'auteur conseille d'utiliser "EST5EDT" mais je ne comprends pas l'écriture.

[EDIT]
J'ai la réponse pour la différence entre 05/12/10 et 5-déc.-10. il faut preciser ds le DateInit "DateFormat=non-US" par contre ça me dit pas pourquoi j'ai une valeur vide pour 5-12-2010
[/EDIT]

merci de m'éclairer un peu