DateTime类肯定有一些方便的方法,似乎整体优于像本地的PHP日期函数strtotime,mktime以及strftime(及以上)。但是,有什么缺点或原因我不应该使用它吗?
strtotime
mktime
strftime
我能想到的唯一原因是,创建一个类的整个实例可能比仅使用一个函数要昂贵得多。
一直在这两个选项之间切换似乎有点令人困惑,所以我想弄清楚我应该做的事情。
我决定的两个例子是:
如果您担心创建一个类实例非常昂贵并且会影响性能,那么恐怕您会选择错误的树。人们永远不应该考虑在合理的情况下是否使用经过验证的OO方法。如果使用DateTime类来执行某些日期计算有意义,则使用它。除非您进行疯狂的操作(例如创建100万个DateTime对象),否则在您的应用程序感觉不到这一点并不昂贵。
DateTime之所以出色,是因为它在创建对象时指定了时区,从而减轻了夏令时的烦恼。获取日期之间的差异或获取不同对象之间的间隔也很容易。它基本上减少了烦恼和所需的编码(但是我承认有时候这是错误的,希望可以在5.4版本的PHP中得到解决)。
底线-我会一直使用它。