Ich verwende PHP strtotime
und MySQL datetime
für einen einfachen Countdown bis zu einem bestimmten Datum.
Ich benutze auch jQuery zum Countdown.
Meine jquery strtotime Zeit ist wie folgt: 1443661380000
Wenn ich meinen JQuery-Countdown ohne PHP starte, funktioniert er einwandfrei und zählt ordnungsgemäß herunter.
Wenn ich jedoch mysql datetime
und php strtotime wie folgt verwende: $long = strtotime("$fes_events_date");
funktioniert mein jquery-Countdown nicht mehr.
Also habe ich versucht, die jquery strtotime umzukehren, die 1443661380000
ist, damit ich sehen kann, wie sie aussieht, falls mir etwas in meiner PHP-Strtotime fehlt.
Also habe ich das gemacht:
$hin = date("Y-m-d H:i:s", 1443661380000);
echo $hin;
Und die Ausgabe davon ist etwas Seltsames, das das Folgende ist:
47717-10-22 18:00:00
Die Frage, die ich habe, lautet also: Wie kann ich meine datetime mysql mit php strtotime konvertieren, damit ich die gleiche Art von Ausgabe erhalte, damit mein jquery-Countdown funktioniert?
Jede Hilfe wäre dankbar.
3 Antworten
Beachten Sie, dass das Messen von UNIX / Epoch Time normalerweise auf zwei Arten erfolgt, entweder in Sekunden oder in Millisekunden seit January, 1 1970
.
Es scheint mir, dass Sie eine Zeit in Millisekunden haben, während die Funktion, die Sie verwenden möchten, diese wie in Sekunden konvertiert, sodass Sie um den Faktor 1000 versetzt sind.
Tauchen Sie Ihre Zeit um 1000 und geben Sie sie dann an den Konverter weiter.
1000ms/1000 = 1s
1443661380000ms / 1000 = 144366138s
144366138s -> Date -> GMT: Thu, 01 Oct 2015 01:03:00
Der Unix-Zeitstempel, das zweite Argument für die Funktion date
, gibt die Anzahl der Sekunden seit dem 1. Januar 1970 an.
Aus Gründen, die den Nebeln der Geschichte verloren gehen, gibt der Javascript-Zeitstempel die Anzahl der Millisekunden seit der Unix-Epoche an. Die PHP strToTime
-Funktion erkennt das nicht und kann ihre Magie nicht ausüben. Sie müssen Ihre Millisekunden manuell in Sekunden konvertieren.
$hin = date("Y-m-d H:i:s", (1443661380000/1000));
echo $hin;
Versuche zu ändern,
$hin = date("Y-m-d H:i:s", 1443661380000);
Zu
$mil=1443661380000;
$seconds = $mil / 1000;
$hin = date("Y-m-d H:i:s", $seconds);