Wie andere schon sagten, können Zeitstempel einen kleineren Bereich von Datumsangaben darstellen (von 1970 bis 2038). Zeitstempel messen jedoch die Anzahl der Sekunden seit der Unix-Epoche (1970-01-01 00:00:00 UTC) und machen sie dadurch unabhängig von der Zeitzone, während DATETIME ein Datum und eine Uhrzeit ohne Zeitzone speichert. Mit anderen Worten, Zeitstempel verweisen eindeutig auf einen bestimmten Zeitpunkt, während der genaue Zeitpunkt, auf den sich DATETIME bezieht, eine Zeitzone erfordert (die nicht in einem DATETIME-Feld gespeichert ist). Um zu sehen, warum dies von Bedeutung sein kann, überlegen Sie, was passiert, wenn wir unsere Zeitzone ändern.
Nehmen wir an, wir möchten die Datetime 2010-03-27 12:00 UTC speichern. Wenn wir dies speichern und es mit einem Zeitstempel oder DATETIME abrufen, dann scheint es normalerweise keinen Unterschied zu geben. Wenn sich der Server jedoch ändert, sodass die lokale Zeitzone UTC + 01 ist, erhalten wir zwei unterschiedliche Ergebnisse, wenn wir die Datetime herausziehen.
Wenn wir das Feld auf einen DATETIME-Wert festlegen, würde es trotz der Änderung der Zeitzone die Datumswerte als 2010-03-27 12:00 Uhr melden. Wenn wir das Feld auf einen Zeitstempel setzen, wird das Datum als 2010-03-27 11:00 gemeldet. Dies ist kein Problem mit beiden Datentypen - es ist nur ein Ergebnis der Tatsache, dass sie etwas andere Informationen speichern.
Ähnlich: http://stackoverflow.com/questions/409286/datetime-vs-timestamp –