@Robin34
студент-информатик

Как правильнее хранить даты?

Добрый день. Не пинайте пожалуйста - только учусь.

Такой вопрос: как правильно хранить даты в MySQL (и базах в принципе)?

Как я вижу это: получаем timestamp, записываем в базу, когда нужно - вытаскиваем и преобразовываем так как нравится.

Но от многих слышал что это дурной тон и даты нужно хранить в DATE, DATETIME и прочем, исклчительно в их формате.

Рассудите пожалуйста и объясните в каких случаях какой вариант использовать лучше.
Благодарю!
  • Вопрос задан
  • 257 просмотров
Решения вопроса 1
dom1n1k
@dom1n1k
Грубо говоря, дата - это клеточка в календаре, а таймстемп - это мгновение, момент времени.
Нужно понять, чего требует конкретная задача - и выбрать.

Например.
1. Я заселился в гостиницу 22 мая и съехал 26-го. Тут речь о днях, а не конкретных мгновениях.
2. Пишем в логи хит на сайте - это момент.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
AloneCoder
@AloneCoder
[object Object]
Использование unix timestamp избавляет от всяких граблей с таймзонами, секундами координации
Ответ написан
@springimport
В unix t:
+ простота;
- отсутствие зон;

в дате все наоборот.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Если вам нужно совершать операции с датами, например прибавить/отнять день/час/неделю, найти последний день месяца, прикинуть не высокосный ли год, найти разницу в днях между датами и т.п. то используйте datetime (а подобные вещи делаются сплошь и рядом).
На самом деле на практике для timestamp не так уж много применений, гораздо чаще используется datetime.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы