Fonction date() affiche 1970-01-01

dali0807 Messages postés 66 Statut Membre -  
dali0807 Messages postés 66 Statut Membre -
bonjour,
j'ai un petit problème avec l'affichage de date avec la fonction date().
voici la ligne de code que j'utilise pour afficher une date stocké dans la base:

  $datedeb=date("Y-m-d",strtotime($donnees['datedebut']));
  echo $datedeb;


la date est correcte si l'année est inférieur à 2039, sinon la date affiché est 1970-01-01

merci d'avance pour votre aide.
A voir également:

2 réponses

mpmp93 Messages postés 7217 Statut Membre 1 340
 
Bonjour,

Dans votre base de données ceci

$donnees['datedebut']

est-il déjà au format 'date' ???

Si oui, ne pas utiliser strtotime....

Exemple:

$donnees['datedebut'] = "2014-01-25";

list($annee,$mois,$jour) = explode('-', $donnees['datedebut']);

echo $jour.'/'.$mois.'/'.$annee;

A+
0
dali0807 Messages postés 66 Statut Membre
 
merci pour la réponse mpmp93,
oui le champ et de type datetime.
en faisant une petite recherche j'ai trouvé cette solution qui donne déjà un résultat correcte.
 $date=date_create($donnees['datedebut']);                
$datedeb=date_format($date,"Y-m-d");


1. est ce que c'est correcte comme solution pour tous les date possibles.
2. pourquoi strtotime donne un résultat incorrecte pour les types date ?

merci
0