我知道我能做到
$threemonthsago = date("Y-m-d", strtotime("-3 month"));
echo "$threemonthsago";
但是我想要在3.5个月前获得而不是三个月前。所以我试着做了
$threemonthsago = date("Y-m-d", strtotime("-3.5 month"));
echo "$threemonthsago";
然而它似乎没有给我正确的日期,它给了我像九月的东西,它不应该是自它目前的四月。
答案 0 :(得分:2)
小数点击strtotime()
,因为它不是它识别的有效格式。你真正的问题是半个月到底是什么?如果你穿越二月它真的很冒险。
如果您准确指定一个月的半月,使用DateTime()
和DateInterval()
会更容易一些:
$date = new DateTime();
$new_date = $date->sub(new DateInterval('P3M15D'));
echo $new_date->format('Y-m-d');