[英]February and strtotime
好的?
我正在嘗試在此處計算日期,但是我沒有得到..
發生了以下情況:
$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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.