[英]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.