【问题标题】:DateTime in Laravel -- Call to a member function add() on a non-objectLaravel 中的 DateTime——在非对象上调用成员函数 add()
【发布时间】:2014-06-08 23:43:23
【问题描述】:

您好,我正在尝试在 Laravel 4 中使用 DateTime,当我尝试使用 add 函数时,我一直在调用非对象上的成员函数 add(),但无法找出原因。

这是我的代码

    if(isset($_POST['from']) && isset($_POST['direction']) && isset($_POST['product']) && isset($_POST['operator'])){

        $businessid = mysql_real_escape_string($_POST['operator']);
    $direction = mysql_real_escape_string($_POST['direction']);

    $dateStart = DateTime::createFromFormat('D M d Y', $_POST['from']);
    $dateEnd = DateTime::createFromFormat('D M d Y', $_POST['from']);

        if($direction == 'first')
        {
            $dateEnd->add(new DateInterval('P14D'));
        }
        else if($direction == 'right')
        {
            $dateStart->add(new DateInterval('P1D'));
            $dateEnd->add(new DateInterval('P7D'));
        }
        else if($direction == 'left')
        {
            $dateStart->sub(new DateInterval('P7D'));
            if($dateStart < $todaysDate) {  $dateStart = $todaysDate; }
            $dateEnd->sub(new DateInterval('P1D'));
        }
        else if($direction == 'date')
        {
            $dateStart->sub(new DateInterval('P7D'));
            while($dateStart < $todaysDate) {   $dateStart->add(new DateInterval('P1D')); }
            $dateEnd->add(new DateInterval('P10D'));
        }

任何想法都会有很大帮助,谢谢,

【问题讨论】:

    标签: php datetime laravel laravel-4


    【解决方案1】:

    您可以简单地实例化一个新的 DateTime 对象,而不是在静态上使用它。考虑这个例子:

    $from = '2014-06-06'; // sample data
    $dateEnd = new DateTime();
    $dateEnd->createFromFormat('D M d Y', $from);
    $dateEnd->add(new DateInterval('P10D'));
    
    echo $dateEnd->format('D M d Y');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多