一尘不染

DateTime类与本机PHP日期函数

php

DateTime类肯定有一些方便的方法,似乎整体优于像本地的PHP日期函数strtotimemktime以及strftime(及以上)。但是,有什么缺点或原因我不应该使用它吗?

我能想到的唯一原因是,创建一个类的整个实例可能比仅使用一个函数要昂贵得多。

  • 你同意吗?
  • 将DateTime对象用于简单的东西完全有意义吗?
  • 还有其他缺点吗?

一直在这两个选项之间切换似乎有点令人困惑,所以我想弄清楚我应该做的事情。

我决定的两个例子是:

  • 将日期转换为本地化值
  • 计算两个日期之间的时间

阅读 196

收藏
2020-05-29

共1个答案

一尘不染

如果您担心创建一个类实例非常昂贵并且会影响性​​能,那么恐怕您会选择错误的树。人们永远不应该考虑在合理的情况下是否使用经过验证的OO方法。如果使用DateTime类来执行某些日期计算有意义,则使用它。除非您进行疯狂的操作(例如创建100万个DateTime对象),否则在您的应用程序感觉不到这一点并不昂贵。

DateTime之所以出色,是因为它在创建对象时指定了时区,从而减轻了夏令时的烦恼。获取日期之间的差异或获取不同对象之间的间隔也很容易。它基本上减少了烦恼和所需的编码(但是我承认有时候这是错误的,希望可以在5.4版本的PHP中得到解决)。

底线-我会一直使用它。

2020-05-29