从星期几获取日期名称

时间:2014-10-21 18:26:21

标签: php cakephp

我的mysql数据库中有7条记录 每个对应于从0-6开始的一周中的某一天

现在我的PHP脚本我要显示而不是0,'星期日'或者代替1想要显示'星期一'。

是否有任何可用的函数需要一周的数字日并返回工作日的名称?

6 个答案:

答案 0 :(得分:2)

您可以使用日期函数,格式为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"));
}

答案 1 :(得分:0)

使用其中的日期构建一个数组。然后你可以通过索引来调用这一天。

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

答案 2 :(得分:0)

这需要一个枚举。 PHP一般不支持枚举,但有枚举的SPL库,因为服务器可能没有安装它是不安全的。

另一种方法是在一周中使用数字数组:

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

现在调用$daysOfWeek[$x%7];会返回当天的字符串(%7将避开范围索引)。

答案 3 :(得分:0)

最简单的方法是使用数组。你应该使用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];你有小时输出。

答案 4 :(得分:0)

您可以编写帮助程序并将日期传递给它。它可以在您需要的任何地方的所有视图中使用:echo $this->MyHelper->changeNumToDate($num) 既然你正在使用回归,你不需要真正的休息,但它的习惯与我有关。

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';

        }
    }
}

答案 5 :(得分:0)

从星期几的数字日 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';