Wie formatiere ich die Datetime-Zeichenfolge in PHP neu?

Lesezeit: 2 Minuten

Wie formatiere ich die Datetime Zeichenfolge in PHP neu
Psychokryo

Ich erhalte eine Datetime von einem Plugin. Ich habe es in eine Variable geschrieben:

$datetime = "20130409163705"; 

Das bedeutet eigentlich übersetzt yyyymmddHHmmss.

Ich müsste dies dem Benutzer als Transaktionszeit anzeigen, aber es sieht nicht richtig aus.

Ich möchte es so arrangieren 09/04/2013 16:37:05 oder 09-apr-2013 16:37:05.

Wie gehe ich vor und ändere die Reihenfolge der Zeichenfolge?

Da könnte ich jetzt denken, ist zu verwenden Substr um Datum und Uhrzeit zu trennen. Ich bin mir immer noch nicht sicher, wie ich die zusätzlichen Zeichen hinzufügen und das Datum neu anordnen soll.

  • date_parse_from_format() wird tun, was du willst.

    – Mischmasch

    10. April 13 um 8:35 Uhr

  • php.net/manual/tr/function.date.php … bitte

    – Volkan

    10. April 13 um 8:35 Uhr

  • DateTime::createFromFormat()

    – Touki

    10. April 13 um 8:40 Uhr


  • Ich fand diese Frage gerade nützlich und es ist 2014, also reden die Leute, die sie geschlossen haben, aus dem Hintern.

    – Entspannen in Zypern

    20. Juli 14 um 18:57 Uhr

  • Für die Wiedereröffnung gestimmt. Während die Frage einen konkreten Fall zeigt, ist die Anwendung auf andere Fälle leicht zu erkennen. Ich habe diese Antwort über Google gefunden und sie hat mich in die richtige Richtung gelenkt, obwohl mein spezieller Fall anders war.

    – Hobo

    27. April 15 um 19:18 Uhr

1643301245 433 Wie formatiere ich die Datetime Zeichenfolge in PHP neu
Blauwind

warum nicht verwenden Datum() genau wie unten, versuchen Sie dies

$t = strtotime('20130409163705');
echo date('d/m/y H:i:s',$t);

und ausgegeben werden

09/04/13 16:37:05

Für PHP 5 >= 5.3.0 http://www.php.net/manual/en/datetime.createfromformat.php

$datetime = "20130409163705"; 
$d = DateTime::createFromFormat("YmdHis", $datetime);
echo $d->format("d/m/Y H:i:s"); // or any you want

Ergebnis:

09/04/2013 16:37:05

date("Y-m-d H:i:s", strtotime("2019-05-13"))

  • Können Sie näher erläutern, wie sich diese angegebene Zeile auf die Frage bezieht?

    – Nico Haase

    15. Mai ’19 um 11:41 Uhr

  • Bitte fügen Sie Ihrer Antwort eine Erklärung für zukünftige Benutzer hinzu

    – DaFois

    15. Mai 19 um 11:55 Uhr

  • Schöner Einzeiler! Habe nach diesem gesucht

    – Boris Winter

    18. Mai 21 um 11:23 Uhr

Wenn Sie verwenden möchten substr(), können Sie die Bindestriche oder Schrägstriche ganz einfach wie folgt hinzufügen.

$datetime = "20130409163705"; 
$yyyy = substr($datetime,0,4);
$mm = substr($datetime,4,6);
$dd = substr($datetime,6,8);
$hh = substr($datetime,8,10);
$MM = substr($datetime,10,12);
$ss = substr($datetime,12,14);
$dt_formatted = $mm."https://stackoverflow.com/".$dd."https://stackoverflow.com/".$yyyy." ".$hh.":".$MM.":".$ss;

Von diesem Punkt an können Sie jede weitere Formatierung herausfinden.

Versuche dies

$datetime = "20130409163705"; 
print_r(date_parse_from_format("Y-m-d H-i-s", $datetime));

die Ausgabe:

[year] => 2013
[month] => 4
[day] => 9
[hour] => 16
[minute] => 37
[second] => 5

1643301246 644 Wie formatiere ich die Datetime Zeichenfolge in PHP neu
Mischmasch

Du könntest es so machen:

<?php
$datetime = "20130409163705"; 
$format = "YmdHis";

$date = date_parse_from_format ($format, $datetime);
print_r ($date);
?>

Kannst du dir anschauen date_parse_from_format() und die akzeptierten Formatwerte.

1643301246 60 Wie formatiere ich die Datetime Zeichenfolge in PHP neu
Iwan

https://en.functions-online.com/date.html?command={"format":"l jS \of F Y h:i:s A"}

.

662730cookie-checkWie formatiere ich die Datetime-Zeichenfolge in PHP neu?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy