PHP : Convertir le format de date
P粉769413355
2023-08-27 13:34:57
<p>Existe-t-il un moyen simple de convertir un format de date en un autre en PHP ? </p>
<p>J'ai ceci :</p>
<pre class="brush:php;toolbar:false;">$old_date = date('y-m-d-h-i-s'); // fonctionne
$middle = strtotime($old_date); // renvoie bool(false)
$new_date = date('Y-m-d H:i:s', $middle); // renvoie le 01/01/1970 00:00:00</pre>
<p>Mais bien sûr, je souhaite qu'il renvoie la date actuelle et non l'heure de la journée. Qu'ai-je fait de mal? </p>
Le moyen le plus simple est
Vous lui fournissez d’abord le format $dateString. Ensuite, vous lui indiquez le format dans lequel vous souhaitez que $newDateString soit.
Cela évite également d'utiliser strtotime, qui peut parfois être difficile à utiliser.
Si vous n'avez pas l'intention de convertir d'un format de date à un autre, mais souhaitez simplement la date actuelle (ou dateheure) dans un format spécifique, alors c'est encore plus simple :
Une autre question couvre également le même sujet : Convertir le format de date aaaa-mm-jj => jj-mm-aaaa.
Le deuxième argument de
date()
doit être l'horodatage correct (nombre de secondes depuis le 1er janvier 1970). Vous transmettez une chaîne que date() ne reconnaît pas.Vous pouvez utiliser strtotime() pour convertir une chaîne de date en horodatage. Cependant, même strtotime() ne reconnaît pas le format
y-m-d-h-i-s
.PHP 5.3 et supérieur
Utilisez
- pour analyser la date de la chaîne entrante.DateTime::createFromFormat
DateTime::createFromFormat
。它允许您使用date()
. Il vous permet de spécifier le masque exact - en utilisant la syntaxePHP 5.2 et versions antérieures
substr()
Vous devez analyser manuellement les éléments (année, mois, jour, heure, minute, seconde) en utilisant et transmettre le résultat à mktime()Mais cela demande beaucoup de travail ! Je recommande d'utiliser un format différent que strftime() comprend. strftime() peut comprendre n'importe quelle
. Par exemple, cela fonctionne : 🎜乔下次在冰上滑倒的时间
date saisie,