2010-11-29 23 views
0

PHPで週の範囲を調整する際に問題があります。
私は現在の勤務時間を月曜日から開始するように働いています。
今週は11/29/2010 - 12/03/2010を示しています。現在の月曜日から2営業週の日付範囲を取得します

月曜日からの2つの金曜日の現在の週の月曜日と、表示と終了日から開始するには、この値を変更する必要があります。

たとえば、現在の開始日は11/29/2010、終了日は12/10/2010です。ここで

私のコードは、私が "次の金曜日"

THX

答えて

1

..「前の月曜日は」唯一の火曜日であるか、後で...しかし、それはあなたのための出発点だ、当日に動作することを実現しましたそれは月曜日のパスを行ったとして、それはここで次の月曜日

を返す私の提案

<? 
$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)); 
?> 
+0

ドリューのコメントは働いていましたが、今日は火曜日ですから、あなたが言ったように。次の月曜日に来ると、同じ範囲にとどまるのではなく、もう一週間外に終了日を押してしまうでしょう。私はあなたのことが完全な解決策であると信じており、感謝しています。私はそれを研究し、そのほとんどを理解しています。ミドルセクションの仕組みはわかりません。これをもう一度見て、時間があれば私は説明を感謝します。ありがとうございました! –

+0

@Dirty Bird Design - 現在の日付が月曜日の場合は中間部分を想定しています。**この月曜日は**今日です。現在の日付が日曜日の場合は、**この月曜日**に+1日を使用する必要があります。それ以外の場合、月曜日の通行はcurrent_weekday-1と同じです(この月曜日を取得するための火曜日、-1、水曜日は-2など) – ajreal

1

代わりのstrtotime("Next Friday", $timestamp)strtotime("Next Friday", $timestamp) + 60*60*24*7を行う(週の秒数を加算)に7を追加するにはどうすればよい

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

です。

+0

は、この第二月曜日にやり直すありません元の2週間の範囲に滞在する代わりに? –

+0

@Dirty Bird Design:私は質問にのみ関心がありました。「次の金曜日」に+7を追加するにはどうすればいいですか?実際に他の何かをテストしなかった:-) – cambraca

1

はちょうどあなたが
、日時を構築するためにthis mondayを使用することはできません

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

ドリュー - ありがとう、これは良い出発点だった、実際に私がしたのは "前月曜日"から "この月曜日"への変更だった。それはうまくいくようですが、病気はそれを見守ります。 –

関連する問題