Menschen können ein Konto auf meiner Website für 1, 2, 3, 4 oder 5 Jahren kaufen. Ich möchte diesen Zeitraum in einer Tabelle speichern. Das ist mein Tisch (bis jetzt):Start und Ende Timestamp in der Datenbank (Unix Timestamp oder Datetime)
table: users
- user_id int(11)
- username varchar(48)
- password varchar(48)
- time_start int(11)
- time_end int(11)
Wenn ich einen Datensatz hinzufügen, füge ich die TIME_START und TIME_END mit:
UNIX_TIMESTAMP(NOW())/UNIX_TIMESTAMP(NOW() + INTERVAL 1/2/3/4/5 year)
Ist dies der beste Ansatz? Um diese Daten mit einem UNIX-Zeitstempel zu speichern. Oder sollte ich nur normale Datetime-Felder verwenden? Ist es eine gute Idee, UNIX-Zeitstempel in einem ganzzahligen Feld zu speichern? Und ist eine Länge von 11 genug? Ich habe es getestet und es funktioniert. Ich habe es gewählt, weil der UNIX-Zeitstempel in UTC ist und ich auf meiner Website eine Zeitfunktion verwende (es zeigt die Zeit wie 'vor 2 Sekunden', 'vor 3 Minuten', ... und wenn ich sie in ein Datetime-Feld geht alles schief ...)
Ich lese über das Jahr 2038 Problem (https://en.wikipedia.org/wiki/Year_2038_problem). Wird das für mich in Zukunft ein Problem sein?
Mit Grüßen, Sam
PS: Sorry für mein Englisch, ich hoffe mein Problem klar genug!
Wahrscheinlich ein Duplikat von [Sollte ich field 'datetime' oder 'timestamp' verwenden?] (Http://stackoverflow.com/questions/409286/should-i-use-field-datetime-ortimestamp) –