您好
输出我的DateTime对象时遇到一个简单的问题。
<?php
$today = new DateTime();
echo $today->format('Y-m-d'); // 2017-04-07
echo $today->modify('+1 day')->format('Y-m-d'); // 2017-04-08
echo $today->format('Y-m-d'); // 2017-04-08 but I want 2017-04-07
我真的不想在输出时改变我的对象。当我回显$ x + 1时,$ x没有改变它的值。我怎样才能轻松使用它?我需要很好的技术来将我的DataTime输出到我的CRON中的DB。我输出了很多次并在每次输出之前声明DateTime对象会破坏我的代码和有效性(例如50.000用户* 30个额外的DateTime对象声明。)
请求帮助,
亚瑟
答案 0 :(得分:2)
这对你有帮助吗?
$start = new DateTimeImmutable('2013-01-29');
$datetime = $start->modify('+1 day');
echo $datetime->format('Y-m-d H:i:s');
答案 1 :(得分:2)
相反简单DateTime
使用DateTimeImmutable
每次调用DateTimeImmutable
对象都会返回新对象,因此您的来源$today
不会更改。
$today = new DateTimeImmutable();
echo $today->format('Y-m-d') . PHP_EOL; // 2017-04-07
echo $today->modify('+1 day')->format('Y-m-d') . PHP_EOL; // 2017-04-08
echo $today->format('Y-m-d') . PHP_EOL; // 2017-04-07
答案 2 :(得分:0)
保留变量
<pre>
Hello Wish you all the best. This is just a testing of multiline as
End Line. Last Comment.
</pre>