好的?
我想在这里打了一个计算日期,但我没有得到..
什么情况如下:
$AtualMenos3 = date("m-d-Y", strtotime("2013-03-31 -3 month"));
$AtualMenos2 = date("m-d-Y", strtotime("2013-03-31 -2 month"));
$AtualMenos1 = date("m-d-Y", strtotime("2013-03-31 -1 month"));
$AtualMes = date("m-d-Y", strtotime("2013-03-31"));
正确的应该是:
03-31-2013
02-28-2013
01-31-2013
12-31-2012
然而,这个PHP计算的日期是错误的,因为当月份是2月(其中只有28天)计算出错..
真正的输出:
03-31-2013
03-03-2013
01-31-2013
12-31-2012
有谁知道给我如何解决这个光? 因为这个复杂的...我的想法......我想不出任何东西:\
$datetime = new DateTime('2013-03-31');
$datetime->modify('-1 month');
echo $datetime->format('Y-m-t') . "<br>";
$datetime->modify('-1 month');
echo $datetime->format('Y-m-t') . "<br>";
$datetime->modify('-1 month');
echo $datetime->format('Y-m-t') . "<br>";
看到它在行动
一种解决方法找到该月的最后一天将是:
$lastDay = date("m-d-Y",(strtotime('next month',strtotime(date("m-01-Y"))) - 1));
希望这将有助于。
如果你想坚持strtotime()
您可以轻松地从下月减一一天计算一个月的最后一天。
echo date("m-d-Y", strtotime("Apr 2013 -1 day")); // yields 03-31-2013
echo date("m-d-Y", strtotime("Mar 2013 -1 day")); // yields 02-28-2013
echo date("m-d-Y", strtotime("Feb 2013 -1 day")); // yields 01-31-2013