我正在尝试获取该月中一周中最后一天的数值(0-6),但是当它实际上应该在05-2018的月份为4时,它仍然返回值3。我是以错误的方式解决这个问题吗?
$endMonth = date('Y-m-t');
$dayPostition = date('w', $endMonth);
答案 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>