我正在使用这个函数:
date("Y-m-d", strtotime("-1 week"));我徘徊的是,如果我这样使用这个函数,它会跳到二月的那个月吗?
我问的原因是因为我知道如果你这样做:
date("m/Y",strtotime("-1 months"));如本例所示:PHP ()和strtotime()在第31次返回错误的月份
它将从2月的月份开始。
发布于 2013-12-03 21:20:19
尝尝这个。(PHP面向对象的格式。)
<?php
$d = new DateTime;
$interval = new DateInterval('P1W');
for ($i = 25; $i < 60; $i++)
{
$d->setDate(2014, 2, $i);
echo $d->format('Y-m-d'), " ";
$d->sub($interval);
echo $d->format('Y-m-d'), PHP_EOL;
}当你说一周的时候,你所指的天数没有什么不明确的。当我说一周的时候,我总是指7天。但一个月的期限是模糊的。我可能指的是28,29,30或31天。(将上面代码中的"P1W“更改为"P1M”,然后再次运行。看看结果中的最后四行。
还请注意,用于strtotime()的php文档说,“在PHP5.3及更高版本中使用DateTime::add()和DateTime::sub(),或者在PHP5.2中使用DateTime::modify()是不可取的。”
还请参阅这个警告:示例3减去月份时要小心
https://stackoverflow.com/questions/20360198
复制相似问题