Fonction date() affiche 1970-01-01

Fermé
dali0807 Messages postés 63 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 25 janvier 2014 - 25 janv. 2014 à 16:18
dali0807 Messages postés 63 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 25 janvier 2014 - 25 janv. 2014 à 18:28
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.

2 réponses

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
25 janv. 2014 à 18:08
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 mardi 4 décembre 2007 Statut Membre Dernière intervention 25 janvier 2014
25 janv. 2014 à 18:28
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