3

帮助修复此错误

致命错误:未捕获的异常 'Exception' 带有消息 'DateTime::_ construct() [datetime.--construct]:无法在位置 0 (-) 解析时间字符串 (--):Z:\home 中的意外字符\plati\www\view.php:110 堆栈跟踪:#0 Z:\home\plati\www\view.php(110): DateTime-> _construct('--') #1 {main} 在 Z 中抛出: \home\plati\www\view.php 在第 110 行

$newday = $a['dayz'];
$endmonth = $a['monthz'];
$newyear = $a['yearz'];
$date = new DateTime("$newyear-$endmonth-$newday");
$date->modify('+8 day');
$year = $date->format('Y');
$month = $date->format('m');
$day = $date->format('d');
4

3 回答 3

4

你有没有试过打印价值"$newyear-$endmonth-$newday"?因为从错误来看,变量看起来没有填充任何内容。所以请发布该字符串的结果。

于 2012-04-13T12:37:57.140 回答
1

$a 中的值为空;检查您的输入。

于 2012-04-13T12:39:13.443 回答
1

帮助修复此错误

您可以通过捕获异常轻松地处理它,这将修复错误,因为您不再需要为该错误而烦恼:

try {
    $newday = $a['dayz'];
    $endmonth = $a['monthz'];
    $newyear = $a['yearz'];
    $date = new DateTime("$newyear-$endmonth-$newday");
    $date->modify('+8 day');
    $year = $date->format('Y');
    $month = $date->format('m');
    $day = $date->format('d');
} catch(Exception $e) {
    # do nothing
}

至少在某些时候您需要进行错误处理。异常要求你这样做,DateTime抛出异常。

于 2012-04-13T12:53:25.120 回答