Probleme de recreation de date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme de recreation de date

Re: Probleme de recreation de date

par stealth35 » 23 mars 2012, 18:07

on dirait que le parse commence a 0

EDIT : non bien joué, il prends pas en compte l'année bissextile
$date = DateTime::createFromFormat('Y-m-d', '2012-02-28');
var_dump($date->format('z'));

$date = DateTime::createFromFormat('z', $date->format('z'));
var_dump($date->format('z'));

$date = DateTime::createFromFormat('Y-m-d', '2012-02-29');
var_dump($date->format('z'));

$date = DateTime::createFromFormat('z', $date->format('z'));
var_dump($date->format('z'));

$date = DateTime::createFromFormat('Y-m-d', '2012-03-01');
var_dump($date->format('z'));

$date = DateTime::createFromFormat('z', $date->format('z'));
var_dump($date->format('z'));

/*
string(2) "58"
string(2) "58"
string(2) "59"
string(2) "60"
string(2) "60"
string(2) "61"
*/
reporte le bug sur php.net,

Probleme de recreation de date

par ddattee » 23 mars 2012, 13:50

Bonjour,

Je me suis rendu compte sur mon serveur que la fonction DateTime::createDateFromFormat() avait un comportement tres bizarre et vraiment embêtant:
Lorsque j'appelle les lignes suivantes:

Code : Tout sélectionner

$date_end = new DateTime(); var_dump(date_default_timezone_get()); var_dump($date_end->format('Y-m-d')); var_dump(DateTime::createFromFormat('z', $date_end->format('z'))->format('Y-m-d'));
J'obtiens ceci :

Code : Tout sélectionner

string(12) "Europe/Paris" string(10) "2012-03-23" string(10) "2012-03-24"
J'avoue que c'est la premiere fois que ca m'arrive alors que j'ai déjà utilisé cette combinaison de fonction de date.
Une idée?

Merci