【问题标题】:DateTime format expects parameter 1 to be string, Object given - Symfony2DateTime 格式要求参数 1 为字符串,给定对象 - Symfony2
【发布时间】:2015-11-02 15:58:14
【问题描述】:

我在尝试将日期间隔插入表中以设置已创建发票的到期日期时,在使用 Symfony2 中的格式函数时遇到了一些问题。

这是我所拥有的:

$today = new \DateTime();
$interval = $today->add(new \DateInterval('P1M'));
$invoice->setDueDate($interval->format('Y-m-d H:i:s'));

但是,当我将鼠标悬停在 PHPStorm 中的格式参数上时,它告诉我它需要一个 DateTime 对象而不是字符串,并且我在探查器中收到以下错误:

错误:调用字符串上的成员函数 format()

所以,我将这一行改为:

$invoice->setDueDate($interval->format(new \DateTime()));

但是当我运行它时,我的分析器给出了这个错误:

警告:DateTime::format() 期望参数 1 是字符串,给定对象

这几乎看起来像是第 22 条情况!我真的很困惑,我是使用字符串还是 DateTime 对象,因为其中一个失败但警告我需要使用其中一个..

有什么想法吗?

【问题讨论】:

    标签: php datetime


    【解决方案1】:

    我猜$invoice->setDueDate() 是期待DateTime 实例的那个。所以该行应该是$invoice->setDueDate($interval);

    【讨论】:

    • 你是绝对正确的-反正我只需要默认格式,所以真的不需要声明它!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2015-12-02
    • 2012-10-09
    • 2015-06-27
    • 1970-01-01
    • 2020-11-22
    相关资源
    最近更新 更多