簡體   English   中英

獲取過去 7 天的星期幾?

[英]Get day of the week for last 7 days?

我需要當天的名稱(星期一、星期二、星期三、星期四、星期五、星期六、今天)。

我知道這是一個新手問題,PHP 有一個date()函數。 但我試過了,不知道怎么...

使用DateTime類及其format方法實現這一點。

下面代碼的輸出每天都在變化.. 因為今天是星期日,所以它從星期一、星期二開始......如果你在星期二運行這個代碼,你將得到星期四、星期五、星期六的輸出......依此類推。

<?php

for($i=1;$i<=7;$i++) //<--- Since we know total days in a week is 7.
{
    $date = new DateTime(); //<-- Grabs today's datetime
    $date->add(new DateInterval('P'.$i.'D')); //<--- Passes the current value of $i to add days..
    echo $date->format('l')."<br>";
}

OUTPUT :

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

工作演示

根據http://php.net/manual/en/function.date.php上的 PHP 手冊,只需使用“l”作為格式參數即可獲取當天的全名。

所以 2014 年 3 月 23 日是一個星期天,正如

<?php
echo date ("l", mktime(0, 0, 0, 3, 23, 2014));
// Echoes Sunday
?>

要從當天開始過去 7、6、5 或 10000 天(或未來的天數),根據此頁面上的信息,只需在 strtotime 函數中的字符串中使用負整數或正整數:

<?php
$backcount = -4;
echo date ("l", strtotime("$backcount day"));
// Executed on 23 Mar 2014 will give Wednesday
?>

知道了這一點,您可以應用for循環來獲得所需的內容。 如果想要“今天”而不是當天的全名,只需添加一個if條件來處理 backcount 變量為零的情況。

您可以使用jddayofweek來檢索星期幾,它有 3 種模式用於包含星期幾的字符串,包含縮寫的星期幾的字符串和 int 表示星期幾

for($i=0;$i<7;$i++){
    $x=jddayofweek($i,2);
    var_dump($x);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM