2017-09-22 6 views
0

の日付にArray内の日数を変換しますは、私はこのような配列の日を持っている週の範囲

$days = ['Monday','Tuesday','Thursday','Friday','Sunday']; 

今日の日付が28 9月であれば、私は例えば、一週間の範囲の日付フォーマットに変換したいです

$dateResult = ['28 Sep','29 Sep','01 Oct', '02 Oct', '03 Oct'] 

それは

+0

なし土曜日? .... – rtfm

+0

1セップ2セップ?それとも、10月を意味するのですか?また、このように日付の背後にある論理は何ですか? –

+0

@rtfm配列の1日は –

答えて

0

これは今日から7日間と考えられます。

$days = ['Monday','Tuesday','Thursday','Friday','Sunday']; 

$ret = [] ; 
for($i = 0; $i < 7; $i ++) { 
    $t = strtotime('+' . $i . ' day') ; 
    if(in_array(Date('l', $t), $days)) { 
     $ret[] = Date('d M', $t) ; 
    } 
} 
print_r($ret) ; 
+0

申し訳ありませんが、あなたは取得できませんでした – tan

-1

まず、今日から始めて、あなたが日を変換する必要があるの週の範囲内で上記のような形式で日付を見つける:-2017は、私は結果が配列に次のようになりたいです人数、個数、総数。例:月曜日は1、火曜日は2など。

//$days = ['Monday','Tuesday','Thursday','Friday','Sunday']; 

$days_in_number = [1,2,4,5,7]; 

$r = array(); 
$today = date('N'); 
foreach($days_in_number as $x){ 
    $r[] = date('M-d',strtotime((($today-$x) * -1).' days')); 
} 

print_r($r); 

注:このコードは現在の1週間のみ有効です。

+0

申し訳ありませんが、これはあなたのために動作しない場合。私はあなたが探しているものを知らない。 –

0
for ($i = 0; $i < 7; $i++) { 
    /* Get day name i.e Friday, Saturday etc */ 
    $day_name =  date("l", strtotime("+$i day")); 
    /* Store result in array only if day is present in $days */ 
    if (in_array($day_name, $days)) { 
     $result[] = date("d M", strtotime("next " . $day_name, strtotime("+". $i ." day"))); 
    } 
} 

出力:

Array 
(
[0] => 29 Sep 
[1] => 01 Oct 
[2] => 02 Oct 
[3] => 03 Oct 
[4] => 05 Oct 
) 
関連する問題