簡體   English   中英

從星期幾獲取日期名稱

[英]Getting Day name from day of week

我的 mysql 數據庫中有 7 條記錄,每條記錄都對應於 0-6 的星期幾

現在我想顯示我的 PHP 腳本而不是 0,'Sunday' 或代替 1 想顯示'Monday'。

是否有任何函數可以使用星期幾並返回星期幾的名稱?

您可以使用 date 函數,格式為l

l(小寫'L')

星期幾的全文表示

http://php.net/manual/en/function.date.php

並使用周日為 0 的事實:

echo date('l', strtotime("Sunday +{$day_number} days"));

或者作為一個函數:

function getDayNameFromDayNumber($day_number) {
    return date('l', strtotime("Sunday +{$day_number} days"));
}

構建一個包含天數的數組。 然后您可以通過索引調用當天。

0 - 6 = 周日 - 周六

$daynum = 0; // assuming that's what was returned from the database.
$dow = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
echo $dow[$daynum]; // would echo Sunday

這需要一個枚舉。 PHP 一般不支持枚舉,但有一個用於枚舉的 SPL 庫,使用它是不安全的,因為服務器可能沒有安裝它。

另一種方法是對一周中的幾天使用數值數組:

$daysOfWeek = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",];

現在調用$daysOfWeek[$x%7]; 返回當天的字符串(%7 是為了逃避超出范圍的索引)。

最簡單的方法是使用數組。 你應該使用 0-6 之間的數字——這是個好主意。

$number_of_day = 6; //OR DIFFERNT - it depends what you need
$day_array = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
$day_array[$number_of_day];

在變量 $day_array[$number_of_day] 中; 你有小時輸出。

0一周的數字天獲得周日到周六周日到周六以6:

//For example, our target numeric day is 0 (Sunday):
$numericDay = 0; //assuming current date('w')==0 and date('D')=='Sun';

解決方案 1:使用 PHP 的內置函數jddayofweek()Monday開始,而date('w')Sunday開始:

jddayofweek($numericDay-1, 1); //returns 'Sun', here decreasing by '-1' is important(!)
//jddayofweek(0, 1); //returns 'Mon';
//jddayofweek(0, 2); //returns 'Monday';

解決方案 2:使用技巧:

date('D', strtotime("Sunday +{$numericDay} days")); //returns 'Sun';
//date('l', strtotime("Sunday +{$numericDay} days")); //returns 'Sunday';

您可以編寫一個助手並將日期傳遞給它。 它可以在您需要的任何地方的所有視圖中使用: echo $this->MyHelper->changeNumToDate($num)由於您使用的是 return,您實際上不需要 break,但它是我的習慣。

class MyHelper extends Helper {
    function changeNumToDate($num = null){
        Switch($num){
            Case 0:
                return 'Sunday';
                break;
            Case 1:
                return 'Monday';
                break;
            Case 2:
                return 'Tuesday';
                break;
            Case 3:
                return 'Wednesday';
                break;
            Case 4:
                return 'Thursday';
                break;
            Case 5:
                return 'Friday';
                break;
            default:
                return 'Saturday';

        }
    }
}

暫無
暫無

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

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