2010-11-29 41 views
0

我無法在PHP中調整週範圍。
我有它工作顯示星期一開始的當前工作周。
因此本週它顯示11/29/2010 - 12/03/2010。獲取從當前星期一開始的2個營業日的日期範圍

我需要修改它以從當前工作周的星期一開始,並顯示和結束從星期一開始的兩個星期五的日期。

因此,例如,目前它將顯示11/29/2010的開始日期和12/10/2010的結束日期。

這裏是我的代碼

<? 
$timestamp = time(); 
echo date("m/d/Y", strtotime("this monday", $timestamp)); 
echo " - "; 
echo date("m/d/Y", strtotime("Next Friday", $timestamp)); 
?> 

如何添加+7到 「下週五」

THX

回答

1

不能使用this monday構建日期時間,
因爲它去傳遞週一,它返回下星期一

這裏是我的建議

<? 
$current_wkday = date('N', time()); 
switch ($current_wkday) 
{ 
    /* assuming on sunday, get next monday */ 
    case 0: $this_monday = strtotime('+1 day'); break; 
    case 1: $this_monday = time(); break; 
    default: $this_monday = strtotime('-'.($current_wkday-1).'day'); break; 
} 

echo date("m/d/Y", $this_monday); /* 11days = 7+(5-1) */ 
echo " - "; 
echo date("m/d/Y", $this_monday+(86400*11)); 
?> 
1

而不是strtotime("Next Friday", $timestamp)strtotime("Next Friday", $timestamp) + 60*60*24*7(添加在一個星期的秒數) 。

+0

不會在這個重新開始的第二個星期一而不是停留在原來的2周範圍內? – 2010-11-30 02:17:27

+0

@Dirty Bird Design:我只關心這個問題:我如何在「下週五」添加+7。沒有實際測試其他任何東西:-) – cambraca 2010-11-30 02:22:05

1

剛剛意識到「上週一」僅適用於當前日期是星期二或後...但它是一個起點,你..

<?php 
    $monday = date('m/d/Y', strtotime("previous monday")); 
    $friday = date('m/d/Y', strtotime($monday . " + 11 days")); 
    echo $monday . ' - ' . $friday ; 
?> 
+0

德魯 - 感謝的人,這是一個很好的起點,實際上我所做的只是將「上一個星期一」改爲「今天的星期一」。它似乎工作,但生病注意它。 – 2010-11-30 01:30:31

相關問題