<?php
$endDate = date("Y-m-d", strtotime("fourth monday april ". date("Y", strtotime("2013-04-01"))));
echo $endDate
?>
爲什麼這個輸出2013-04-29當正確的答案是2013-04-22?strtotime([月] [年]的第n天)
無論何時,當您搜索的日子恰好在一個月的第一天時,日計數器(即「第四」)總是顯示比它應該多的一個。
例如:2013年5月3日的第三個星期三產出2013-05-22當它應該是2013-05-15。
我猜測解決這個問題的快速方法是查看每個月的第一天是否是您要查找的同一天,並相應減少日計數器(「第四」,「第三」等)?
也許你是因爲你指定了年,月,日? – 2013-04-29 21:40:39
只是假設,但它可能是解釋「2013年4月4日後的第四個星期一」 – 2013-04-29 21:41:00