2016-02-21 41 views
1

我有個約會,假設我有2月21日,這是2月份的第3個星期天。我將如何得到3月的第3個星期天?(這將是3月20日。我在這裏看了幾個帖子,但我找不到任何幫助,以我的特殊要求。想要在同一天得到下個月的日期

+0

,你會想到什麼的情況下,當下個月沒有第N個星期?例如今年1月有5個星期五,但2月只有4個。 –

+0

這是一個有趣的問題。我想編號只是設置在本月的最後一個星期五,而不是第五個。谷歌日曆這樣做。一切都在4以上,只是標題爲本月的最後一個星期五 – NMLcygni

回答

1

這似乎這樣的伎倆:

<?php 
// $time = time(); 
$wd = date('D', $time); // day of week 
$week = 7 * 24 * 3600; 
$n = ($time - strtotime("first $wd of this month", $time))/$week; 
$ns = array('first', 'second', 'third', 'fourth', 'last'); 
$next = strtotime("{$ns[$n]} $wd of next month", $time); 
+0

謝謝。這個伎倆! – NMLcygni

1

你可以做數學,

echo date('m/d/y', (time() + 21 * 86400)); 

86400爲一天,所以21 * 86400爲3周加當前日期(2月21日)給出:

16年3月13日

如果您有一個文本字符串,您可以使用strtotime將其轉換爲時間戳。

更新:

要獲得的第三個星期天,你可以使用條件,看看日期小於14,我覺得總是讓不到3星期到一個月。

echo (date('d', (time() + 21 * 86400) < 14)) ? date('m/d/y', (time() + 28 * 86400)) : date('m/d/y', (time() + 21 * 86400)); 
+0

好的,但你我仍然不知道如何得到3月的第3個星期天 – NMLcygni

+0

更新發布爲第三個星期天,而不是第三個星期。 – chris85

+0

但我想知道的日期是可變的。我不能只使用相同的公式與每個日期我可以 – NMLcygni

相關問題