我在堆栈溢出上看到了这段代码
function add($date_str, ${
$date = new DateTime($date_str);
$start_day = $date->format('j');
$date->modify("+{$months} month");
$end_day = $date->format('j');
if ($start_day != $end_day)
$date->modify('last day of last month');
return $date;
}
$result = add('2011-01-28', 1); // 2011-02-28
$result = add('2011-01-31', 3); // 2011-04-30
它增加日期,但不超过该月的最后一天。但是当我尝试使用运行函数时
$dues=add('2011-01-28', 1); echo $dues;
它返回"类DateTime的对象无法转换为字符串"错误?但它似乎对其他人有效。
原始链接
代码的第一行必须是:
function add($date_str, $months) {
你有语法错误。
函数格式不对。使用下方的代码
function add($date_str, $months){
$date = new DateTime($date_str);
$start_day = $date->format('j');
$date->modify("+{$months} month");
$end_day = $date->format('j');
if ($start_day != $end_day)
$date->modify('last day of last month');
return $date;
}
$result = add('2011-01-28', 1); // 2011-02-28
$result = add('2011-01-31', 3); // 2011-04-30
希望这能帮助您
我所要做的就是使用$dues->format('Y-m-d')