我正在尝试使用OOP方式获取当前日期/时间,如下所示:
$now = new \DateTime(); // 2015-05-24 11:21:36 -> this works fine
Run Code Online (Sandbox Code Playgroud)
我也在同一个对象上加1周,$now所以我这样做了:
$expireTime = $now->modify('+1 week'); // 2015-05-31 11:21:36 -> this also works fine
Run Code Online (Sandbox Code Playgroud)
如果我这样做,用同样的方法:
echo $now;
// Output: 2015-05-31 11:28:59
// Got wrong value, should be original date without modification
echo $expireTime;
// Output: 2015-05-31 11:28:59
// Got the right value since I have added 1 week
Run Code Online (Sandbox Code Playgroud)
为什么?如何在不修改原始对象的情况下添加一周?
编辑:我通过克隆原始对象并修改克隆的对象找到了解决方案,但我想知道这种行为是否正确以及为什么
| 归档时间: |
|
| 查看次数: |
1412 次 |
| 最近记录: |