Класс DateTime обладает некоторыми удобными методами и, как strtotime
, превосходит собственные функции php date, такие как strtotime
, mktime
и strftime
(и многое другое). Но есть ли какой-то недостаток или причина, почему я не должен ее использовать?
Единственная причина, по которой я могу думать, это то, что было бы дороже создание целого экземпляра класса, чем просто использование функции.
Кажется немного запутанным переключаться между этими двумя вариантами все время, поэтому я хотел бы иметь разрешение, что я должен делать.
Два примера для моего решения:
Если вы беспокоитесь, что создание экземпляра класса дорого и что это будет мешать производительности, то, боюсь, вы лаете на неправильном дереве. Не следует рассматривать вопрос о том, следует ли использовать проверенный подход OO, где это имеет смысл. Если имеет смысл использовать класс DateTime для выполнения определенных расчетов по дате, используйте его. Это не так дорого, когда ваше приложение будет чувствовать это, если вы не делаете что-то безумное, например, создаете 1 миллион объектов DateTime.
Причина, почему DateTime замечательна, заключается в том, что она облегчает заботу о летней экономии, указав часовой пояс при создании объекта. Также легко получить различия между датами или получить интервалы между различными объектами. Это в основном сокращает количество беспокойства и кодирования (но я признаю, что это неправильно иногда, надеюсь, он будет рассмотрен в версии 5.4 PHP).
Итог – я всегда буду использовать его.