PHP : strtotime() renvoie toujours 01/01/1970
J'essaie d'afficher les dates dans le European format (dd/mm/yyyy)
avec strtotime
mais il renvoie toujours 01/01/1970.
Voici ma version :
echo "<p><h6>".date('d/m/Y', strtotime($row['DMT_DATE_DOCUMENT']))."</h6></p>";
Dans ma base de données, le champ est un champ de type varchar et les enregistrements sont formatées comme aaaa.mm.dd
- Je utiliser la même version pour un autre domaine qui est formaté comme aaaa-mm-jj (varchar trop) et il fonctionne très bien.
Merci pour votre aide.
C'est probablement parce que la fonction strtotime suppose mm/jj/aaaa au lieu et si vous entrez une date comme 13/2/2012 il se plaindre qu'il n'y a pas de 13ème mois et vous donner le temps 0 (1/1/1970)
OriginalL'auteur HerrM | 2012-06-08
Vous devez vous connecter pour publier un commentaire.
Depuis le format
yyyy-mm-dd
fonctionne, essayez de remplacer.
avec-
:OriginalL'auteur flowfree
Essayer avec:
(À l'aide de
date_parse_from_format()
au lieu destrtotime()
)Ou tout simplement:
date
n'acceptent pas le résultat direct dedate_parse_from_format
.Vous avez raison.. Donc désolé, je vais le corriger maintenant.
OriginalL'auteur fquffio
Citant la fonction strtotime page dans le manuel PHP.
Pour éviter l'ambiguïté, il est préférable d'utiliser le format ISO 8601 (AAAA-MM-JJ) date ou
DateTime::createFromFormat()
lorsque cela est possible.Si dans votre cas, il devrait être dans le format AAAA-MM-JJ ou d.m.y.
Si vous souhaitez analyser votre format personnalisé puis utilisez date_create_from_format
Par exemple,
OriginalL'auteur Subir Kumar Sao