В моем приложении PHP я получаю даты из базы данных MySQL, когда форматирую их с помощью команды PHP date()
.Я хочу привести это в порядок и переместить все целиком в представление, а не в поиск.Но я столкнулся с некоторыми проблемами.
При получении даты из базы данных я передаю ее остальной части приложения после запуска на ней strtotime()
, чтобы функции date()
могли работать с ними.Это хорошая идея?или я упускаю что-то лучшее и очевидное?Даты, с которыми я имею дело, почти все имеют тип DATE
, а не DATETIME
.
Итак, я получаю дату и могу использовать date()
для ее отображения на веб-странице.Но иногда я получаю что-то из базы данных исключительно для вставки в другое место в базе данных, и мне приходится искать через бэкэнд, чтобы найти места, которые нуждаются в date()
поражениях с целью разделения их на представление.Мои функции поиска возвращают strtotime($date_from_db)
, а затем я создаю новую запись в другой таблице ... и все новые записи должны пройти через функции проверки и подготовки.И в этом заключается проблема.Я проверяю и готовлю даты, проверяя, не являются ли они strtotime()
чем-то другим, кроме 0000-00-00.Но я не могу запустить strtotime()
на временной отметке;в тесте я побежал, если бы дал мне 31.12.1969.Итак, мои вопросы:
- Можно ли как-нибудь запустить
strtotime()
на временной метке? - Если нет, есть ли простой способ узнать, является ли переменная временной меткой?Таким образом, я мог бы просто запустить
date()
, а не иметь дело с strtotime()
?Кроме того, чтобы посмотреть, выйдет ли это до 31.12.1969, потому что я не знаю, могу ли я доверять неудаче быть последовательной.Разве это в любом случае допустимо? - И я делаю это совершенно неправильно?