@banny_name

Как правильно записать и в дальнейшем работать с датой?

Нужно записать время действия в бд.

Как сделать чтобы год полностью писало?
$date = date('Y.m.d H:i:s');// 13.11.22 03:10:25

узнаю, записываю, получается строка:
"13.11.22 03:10:25"

Как в дальнейшем с ней работать.

нужно например вывести строку:
Действие совершено: 13 11 2022 в 03:10
секунды использую для сравнения дат, тут они не нужны...
  • Вопрос задан
  • 182 просмотра
Решения вопроса 2
0x9d8e
@0x9d8e
Велосипедостроитель в терминальной стадии
Стандартный подход это хранить таймштамп (количество секунд, прошедших с 01.01.1970) и перед выводом преобразовывать в нужный формат.
Ответ написан
Комментировать
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
> Стандартный подход это хранить таймштамп (количество секунд, прошедших с 01.01.1970) и перед выводом преобразовывать в нужный формат.

Или позволить БД позаботиться о таймстампах:
`date_created` TIMESTAMP NOT NULL DEFAULT NOW()
`date_edited` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE NOW()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
MaEcTPo
@MaEcTPo
Если в БД тип `datetime`, то я бы предложил оперировать датой как объектом \DateTime().
Чтобы создать объект, можно воспользоваться методом createFromFormat()

Чтобы потом записать, использовать стандартные константы:
$dateTime = new DateTime() // создаст объект со текущим временем
echo $dateTime->format(\DateTime::ATOM) // покажет дату в формате, необходимом для базы данных.
echo $dateTime->format('Y-m-d H:i:s'); // упрощённый формат.


Больше можно узнать по ссылке на документацию по методу format()

P.S. Из формулировки вашего вопроса не совсем понятно, на что именно вы хотите получить ответ. Перечитывайте вопросы перед отправкой, расставляйте запятые и формулируйте вопрос чётко и ясно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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