Я работаю в серверной среде с PHP 5.3.Что лучше: date() или DateTime :: format()?
Чтобы создать строку MySQL DATETIME
, представляющую текущее время, я только что использовал date("Y-m-d H:i:s")
в своем коде. Что-то вроде new DateTime("now")->format("Y-m-d H:i:s")
просто не может быть проанализировано в этой версии. Однако, я полагаю, могу ли я положиться на функцию date()
, чтобы сделать это.
И в некоторых исходных файлах я использую DateTime::createFromFormat('Y-m-d H:i:s', $mysqlDate)->format('d/m/Y H:i')
, чтобы получить более дружескую дату для бразильских посетителей.
Вопрос: этот код спагетти? Что я могу сделать для более сжатого кода?
используйте все, что вам легче писать и поддерживать –
Вам нужно следить с 'd/м/Y'. Если вы работаете с ним (например, strtotime), PHP будет интерпретировать его как 'm/d/Y' (American), и поэтому он может вызвать ошибки – kero
Объекты DateTime - обрабатывать временные интервалы и переход на летнее время, обрабатывать гораздо более широкий диапазон дат, интеграции с DateIntervals и DatePeriods - привыкнуть к их использованию, и они упрощают многое. –