PHP : Convertir le format de date
P粉769413355
P粉769413355 2023-08-27 13:34:57
0
2
548
<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>
P粉769413355
P粉769413355

répondre à tous(2)
P粉439804514

Le moyen le plus simple est

$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString);
$newDateString = $myDateTime->format('m/d/Y');

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 :

$now = new DateTime();
$timestring = $now->format('Y-m-d h:i:s');

Une autre question couvre également le même sujet : Convertir le format de date aaaa-mm-jj => jj-mm-aaaa.

P粉006977956

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 DateTime::createFromFormatDateTime::createFromFormat。它允许您使用 date(). Il vous permet de spécifier le masque exact - en utilisant la syntaxe

- pour analyser la date de la chaîne entrante.

PHP 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()

qui créera un horodatage pour vous.

Mais cela demande beaucoup de travail ! Je recommande d'utiliser un format différent que strftime() comprend. strftime() peut comprendre n'importe quelle 乔下次在冰上滑倒的时间date saisie,

. Par exemple, cela fonctionne : 🎜
$old_date = date('l, F d y h:i:s');              // returns Saturday, January 30 10 02:06:34
$old_date_timestamp = strtotime($old_date);
$new_date = date('Y-m-d H:i:s', $old_date_timestamp);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal