2016-07-17 13 views
0

Ich möchte dynamische timeago funtion mit jquery timeago erstellen, aber ich kann es mit php time() tun, weil es für jeden Server gleich ist und ich kann leicht damit umgehen. Aber ich habe gehört, dass es nicht empfohlen wird Zeitstempel zu speichern (ich bekomme es von php time() funktion) wird es sehr hohe zahlen in der 2038 und so weiter.Sollte ich Zeitstempel oder Datum verwenden, um das Datum zu speichern, um die dynamische Zeitfunktion anzuzeigen?

Auch sah ich facebook HTML-Codes Ich denke, sie Zeitstempel verwenden, auch, weil ich sehe dies:

<abbr title="Sunday, July 01, 2016 at 12:24pm" data-utime="1468743808" class="timestamp livetimestamp"> 
<span class="timestampContent">about an hour ago</span></abbr> 

Daten utime es heißt, sie Zeitstempel speichern Aber warum es nicht zu empfehlen, es zu speichern Ist es wahr? Timestamp wird in Zukunft sehr hohe Zahlen sein?

+0

Scheint, wie Sie über das Jahr 2038 Problem sprechen: https://en.wikipedia.org/wiki/Year_2038_problem Im Wesentlichen wird der Zeitstempel höher sein als die maximalen 32-Bit-Integer-Wert unterzeichnet, aber dies sollte Sie stellen kein Problem dar, denn bis dahin werden die meisten, wenn nicht alle Maschinen 64-Bit-fähig sein und 64-Bit-Ganzzahlen verarbeiten können. Ich empfehle, Zeit als Zeitstempel zu speichern, es ist sehr einfach zu manipulieren und hat keine wirklichen Probleme. – ebildude123

+0

Wenn ich Timestamp auf Varchar (100) speichere, wird es ein Problem geben? – Alex

+0

Das sollte in Ordnung sein, aber BIGINT sollte besser für einen Zeitstempel sein. – ebildude123

Antwort

0

Es ist egal über das Jahr, db Zeitstempel Typ wird die gleiche Menge an Bytes belegen. Sie können in JS new Date() verwenden. GetTime() gibt tatsächlich einen UTC-Wert zurück, so dass es eine sehr hilfreiche Möglichkeit ist, Daten auf eine Weise zu speichern und zu verwalten, die von lokalisierten Zeiten unabhängig ist. Für das obige Beispiel verwenden sie eine numerische Unterdrückung des Zeitstempels.

+0

Ja meine Frage ist, sollte ich PHP Zeit() Datum zu Varchar Typ Spalte speichern – Alex

+0

Es ist eine schlechte Praxis zu gehen nähern Sie wollen. Sollte ein entsprechender Datumstyp in Ihrer Datenbank sein, um den Datumstyp beizubehalten, sollten Sie in anderen Fällen die Transformation für Ihren Wert in varchar und in date berücksichtigen. Die Antwort ist, dass Sie nicht varchar verwenden sollten, um den Date-Typ zu behalten, sondern den Date-Typ, der Ihre Datenbank respektiert. –

+0

nein Ich habe es nicht verwendet, um Datumstyp zu behalten Ich möchte es verwenden, um nur Timestamp int Wert wie 1468743808 zu halten. Haben Sie bessere Lösung, um es zu behalten? – Alex

0

Bewährte Methode ist die Verwendung numerisch basierter Typen für numerische Werte, nicht zeichenbasierte Typen.