【发布时间】:2016-10-11 14:25:19
【问题描述】:
我试图在 PHP 中的 Date 上获得 -2 个月。 大多数时候,结果是好的,但有一次,结果是错误的。
$d = 1409436000; // 31-8-2014
$d1 = new DateTime(date("d-m-Y", $d));
$d1->modify("-2 month");
echo $d1->format("d-m-Y");
// expected : 30-06-2014
// got : 01-07-2014
我当前的 PHP 版本是:5.6.23-0+deb8u1 我没有对 TimeZone 进行任何配置。
那么:为什么我会得到这个结果?是因为八月和七月有31天吗?还是 phpversion 上的当前错误?时区 ?
谢谢 =)
【问题讨论】:
-
为我工作.. 我得到了 30-06-2014
-
你可以试试:
$d = 1409436000; // 31-8-2014 $d1 = new DateTime(); $d1->setTimestamp($d); $d1->modify("-2 month"); echo $d1->format("d-m-Y"); -
我实际上也得到了
01-07-2014。我正在运行 PHP 7。 -
@MagnusEriksson,好吧,我并不孤单 =) 这不正常,不是吗?