@EvgMul

Почему использование timestamp в БД для хранения даты является неправильным?

Здравствуйте. Читаю документацию по Yii2 и прочитал следующую фразу:
Например, в базе данных вы храните дни рождения покупателей в формате UNIX timestamp (что, кстати говоря, не является хорошим дизайном)...

Мне всегда казалось, что это наоборот правильный подход, т.к. timestamp легко преобразовывать в любой нужный формат и возвращать обратно при сохранении.
Подскажите, пожалуйста, почему это является нехорошим дизайном и как реализовывать подобное правильно?
Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 1997 просмотров
Решения вопроса 2
DevMan
@DevMan
потому что:
1. дататайм нагляднее и понятнее таймстампа
2. дататйм позволяет хранить доли секунды
3. при таймстампе вы теряете множество удобных функций для работы с дата/время
Ответ написан
@Vitsliputsli
Не пишите timestamp, пишите Unix timestamp. Только в MySQL timestamp-ом называют Unix timestamp, в остальных СУБД timestamp - это то, что в MySQL зовется datetime.
В Unix timestamp нет ничего плохого, но его использование ограничено, по-сути отображать текущее время работы компьютера.
Если взять пример из цитаты, то действительно странно сохранять дни рождения в Unix timestamp, хотя бы потому, что этот формат хранит только даты в интервале от 1970 по 2038 год.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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