Aller au contenu

Problème conversion date <-> timestamp


Sujets conseillés

Posté

Bonjour,

je devient fou sur un problème et je n'arrive pas à prendre le recul pour trouver une solution.

Je souhaite ajouter 30 minutes à une date au format américain : date("m/d/Y") ;


$time = strtotime('08/22/2012 14:45:00');
$end_time = strtotime("+30 minute", $time) ;
$start_date = date("m/d/Y H:m:s", $time);
$end_date = date("m/d/Y H:m:s", $end_time);

Alors pour commencer $start_date me renvoi 08/22/2012 14:08:00 au lieu de 08/22/2012 14:45:00 ce qui pour moi est incompréhensible.

Ensuite et c'est encore plus incompréhensible : $end_date me renvoie 08/22/2012 15:08:00 (soit + 1 heure au lieu desx + 30 minutes demandés)

Si je fait $end_time-$time j'ai bien 1800 secondes soit 30 minutes.

Dans la doc php je lis bien : "Les dates aux formats m/d/y ou d-m-y formats sont analysées en regardant le séparateur entre les différentes parties: si le séparateur est un slash (/), alors le format américain m/d/y est supposé; si le séparateur est un tiret (-) ou un point (.), alors le format Européen d-m-y sera supposé."

ps: dan quand on passe du mode Edit a wisiwig les é se transforment en é

Posté (modifié)

Bonjour,

Essaye avec un s ;-)


$end_time = strtotime("+30 minutes", $time) ;

Modifié par Nicolas
Posté

hello,

merci d'avoir regardé mais non je l'avais testé.

J'obtient toujours 08/22/2012 14:08:00 pour start_date au lieu de 08/22/2012 14:45:00

et 08/22/2012 15:08:00 pour end_date

Avant de se pencher sur les +30minutes il y a déjà un problème ici :


$time = strtotime('08/22/2012 14:45:00');
$start_date = date("m/d/Y H:m:s", $time);

$start_date devrait renvoyer 08/22/2012 14:45:00 or chez moi j'ai 08/22/2012 14:08:00 ?!

Posté

$start_date = date("m/d/Y H:i:s", $time);

$end_date = date("m/d/Y H:i:s", $end_time);

"m" peut pas faire les mois et les minutes à la fois :P

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...