我在堆栈溢出
上看到了这段代码 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的对象无法转换为字符串”错误?但它似乎适用于其他人。
答案 0 :(得分:0)
代码的第一行必须是:
function add($date_str, $months) {
你有语法错误。
答案 1 :(得分:0)
功能格式不对。使用以下代码
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
希望这有助于你
答案 2 :(得分:-3)
我所要做的只是使用$dues->format('Y-m-d')