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

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

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

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

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

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

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

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

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

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

Похожие вопросы