timestamp или datetime, какая разница?

Олег

16-й уровень

При работе со временем важно понимать разницу между datetime и timestamp.

datetime представляет из себя дату, как в календаре и время, которое мы видим на часах, в нашей временной зоне.

timestamp же представляет из себя время, точно определённое для всех, ведь в мире много временных зон.

Пример:

Как много прошло времени начиная с 2013-01-10 14:45:32? Зависит от того, в какой временной зоне вы находитесь. Если же спросить, сколько это 1492256793.49 секунд начиная с 1970-01-01 00:00:00 UTC — мы можем точно сказать, сконвертиров timestamp в обычное время с учётом нашей временной зоны.

Потому, если стоит выбор, как хранить в базе данных время, то выбор конечно же должен быть datetime.