Einige Hintergrundinformationen:Wie UNIX Zeit mit MySQL speichern
Meine Website hängt stark von den Benutzern über alle Arten von verschiedenen Zeitzonen zu koordinieren.
Ich verwende Carbon, um meine Zeitzonenkonvertierungen und Berechnungen auf der Serverseite und moment.js auf dem Client zu verarbeiten.
Als Ergebnis wurde die Entwurfsauswahl getroffen, dass alle Datumsangaben (z. B. die Startzeit eines Ereignisses) als Unix-Zeitstempel gespeichert würden.
Problem
Ich bin ein bisschen durch die Definition eines "Zeitstempel" verwirrt. PhpMyAdmin ist der Zeitstempel nicht ein Zeitstempel Unix sondern ein Datumsformat:
2016-10-06 20:50:46
Wenn Sie also ein Standardfeld des aktuellen Zeitstempel haben wollen dann das aktuelle Datum in GMT erhalten.
Diese Dinge komplizierter macht in einem Benutzer Zeitzone zu einem Zeitstempel integer Unix im Vergleich zu konvertieren zurück ...
Frage:
Welche Art Feld sollte ich als meine Unix-Zeitstempel speichern, ich derzeit verwende int(11)
mit einem Standardwert von none
. Durch Erweiterung ... gibt es eine Möglichkeit, den aktuellen Unix-Zeitstempel (z. B. 1475971200) standardmäßig in MySQL zu speichern?
einfügen Sie können das Problem umgehen, indem Sie die Datetime aus und Unix-Zeitstempel konvertieren. Um also einen Unix-Timestamp einzufügen, würden Sie ein DATETIME-Feld in Ihrer Tabelle erstellen und den Unix-Timestamp mit 'FROM_UNIXTIME (1514789942)' konvertieren. Wenn Sie dann den Wert in Unix-Timstamp zurückholen wollen, wählen Sie 'SELECT UNIX_TIMESTAMP (my_datetime_field)' – Jacques