是否可以在PHP中将DateTime()
更改为自定义时差。就像添加它20分钟,每次我打电话new DateTime()
我会额外20分钟到当前日期。
我考虑过__construct(),但没有看到如何修复它。
我当然可以使用一个函数,但只是想知道是否可以更改原型new DateTime()
答案 0 :(得分:2)
是的,有可能:
$date = new DateTime();
$date->modify("+20 minutes"); //or whatever value you want
答案 1 :(得分:1)
Ilia Rostovtsev的回答是实现目标的好方法。或者,您也可以将DateInterval类与DateTime :: add()一起使用。就个人而言,我更喜欢那个,因为你不需要知道字符串需要看起来像什么,而DateInterval使用像P1d这样的标准一天。
我不会使用继承来获取包含您希望的行为的DateTime类。相反,您可以创建某种包含Ilia代码的工厂(以及用于创建对象的所有其他代码)。间隔可以作为参数添加。如果您需要在将来更改该间隔,同时技术上可以使用20分钟以外的其他间隔,则您添加的间隔,您的20分钟应存储在常量中。
答案 2 :(得分:1)
您可以在一行中完成所有操作: -
$date = (new \DateTime())->add(new \DateInterval('PT20M'));
这将是我的首选方式。