2017-01-07 121 views
-1

我想創建一個星期幾日期與星期一的名稱列表。 如果今天是星期一 - 2017年1月2日(Y-M-d),那麼我想要列表是這樣的:php當前週日名稱與日期

  • 週一02 | Tue-03 | Wed-04 |星期四| 05 | Fri-06 | Sat-07 | Sun-08

如果今天是星期一,我下面的代碼會給出這樣的結果。 這是我到目前爲止。

function NextDayDate($day) { 
     return new DateTime('next ' . $day); 
    } 

    $dt = new DateTime(); 
    $today=date("l"); 

    if ($today=="Monday") { 
     echo $dt->format('d'); // Todays date 
     echo '</br>'; 
    } 
    elseif ($today!="Monday"){ 
     echo '</br>'; 
     $nextMonday = NextDayDate('Monday'); 
    echo $nextMonday->format('d'); // Next date 
    echo '</br>'; 
    } 
if ($today=="Tuesday") { 
     echo $dt->format('d'); // Todays date 
     echo '</br>'; 
    } 
    elseif ($today!="Tuesday"){ 
     echo '</br>'; 
     $nextMonday = NextDayDate('Tuesday'); 
    echo $nextMonday->format('d'); // Next date 
    echo '</br>'; 
    } 

假如今天是星期二,那麼週一我會週一-09,因爲這是週一的下一個日期。

  • Mon-09 | Tue-03 | Wed-04 |星期四| 05 | Fri-06 | Sat-07 | Sun-08

我想保留最後幾天的日期,所以列表不會改變。

也許有辦法用日期得到當前星期幾的名字嗎?

回答

0

這是更簡單:

$a = new DateTime(); 
$oneDay = new DateInterval("P1D"); 
// Here you add one day to your date until it will Monday 
while ($a->format('D') != 'Mon') { 
    $a->add($oneDay); 
} 
// Here you print 7 days from your target Monday 
for ($i = 0; $i < 7; $i++) { 
    echo $a->format("D-d"); 
    $a->add($oneDay); 
} 
+0

謝謝!我是新來的。 – lyraX