Fonction date() affiche 1970-01-01

dali0807 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
dali0807 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -
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 6648 Date d'inscription   Statut Membre Dernière intervention   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 63 Date d'inscription   Statut Membre Dernière intervention  
 
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