PHP使用date()函数获取星期日 - 星期六的数值

时间:2018-04-26 03:42:59

标签: php

我正在尝试获取该月中一周中最后一天的数值(0-6),但是当它实际上应该在05-2018的月份为4时,它仍然返回值3。我是以错误的方式解决这个问题吗?

$endMonth = date('Y-m-t');
$dayPostition = date('w', $endMonth);

4 个答案:

答案 0 :(得分:2)

如果您想获得本月的最后一个月,您可以:

$date = new DateTime("now");
$date->modify('last day of this month');
echo $date->format('w');

或使用特定日期

$date = new DateTime("2018-05-01"); //May 1, 2018
$date->modify('last day of this month');
echo $date->format('w');

答案 1 :(得分:2)

问题是 date() 的第二个参数必须是时间戳而不是字符串,date() 本身只返回一个字符串。

因此,您需要使用 strtotime() 将第一个date()显式转换为时间戳:

$testvar = date('Y-m-t');
$lastDay = date('w', strtotime($testvar));

可以看到工作 here

答案 2 :(得分:1)

您正在发送字符串,而不是日期...尝试此

$endMonth = date('Y-m-t');
$dayPostition = date('w', strtotime($endMonth));

答案 3 :(得分:1)

如果您想获得月中的最后一天,可以使用cal_days_in_month()

  

此功能将返回一年中的某些月份的天数   指定的日历。“   http://php.net/manual/en/function.cal-days-in-month

试试这个

<script>
    var var1;
    function buttonClick(elem){
        var1 = elem.src              //this gets the url from the element
        var path = var1.slice(48);   //this cuts the url to img/art/9/1.jpg
        ajax = theAjax(path);
        ajax.done(processData);
        ajax.fail(function(){alert("Failure");});
    }

    function theAjax(path){
        return $.ajax({
            url: 'info.php',
            type: 'POST',
            data: {path: path},
        });
    }

    function processData(response_in){
        var response = JSON.parse(response_in);
        console.log(response);
    }
</script>