Y at-il un moyen simple de convertir le format d’une date en un autre format de date en PHP?
J’ai ce:
1 2 3 | $oldDate = date('y-m-d-h-i-s'); //Esto funciona $aux = strtotime($oldDate); //Esto devuelve false $newDate = date('Y-m-d H:i:s', $aux); //Devuelve 1970-01-01 00:00:00 |
Ce que je fais mal?
Le second paramètre que vous passez Date() doit être un paramètre approprié, c'est-à-dire, les secondes depuis le 1 en janvier de 1970. La chaîne que vous passez il ne le reconnaît pas.
Il utilise strtotime()
pour convertir une chaîne de date dans une timestamp, Bien que, pas même strtotime() reconnaîtra y-m-d-h-i-s
.
PHP 5.3 ci-après
Utilisation DateTime::createFromFormat
. Vous pouvez spécifier un masque précis à l’aide de la syntaxe de Date() pour analyser la date d’arrivée.
PHP 5.2 et précédentes
Vous devez analyser les éléments (année, mois, Journée, temps, minute, seconde) à l’aide de substr() et transmettre les résultats à mktime () pour générer un timestamp.
Beaucoup de travail! Je recommande d’utiliser un format différent de celui strtotime() vous devez savoir. Essayez ceci:
1 2 3 | $oldDate = date('l, F d y h:i:s'); // devuelve Sabado, Enero 30 10 02:06:34 $auxTS = strtotime($oldDate); $newDate = date('Y-m-d H:i:s', $auxTS); |
S’il vous plaît, Connectez-vous ou S’inscrire poser une question