2017-01-07 183 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