【问题标题】:Symfony datetime field format is not workingSymfony 日期时间字段格式不起作用
【发布时间】:2017-05-10 06:17:52
【问题描述】:

我的实体字段是:

/**
 * @ORM\Column(type="date", name="date", nullable=true)
 */
protected $date;

function getDate() {
    return $this->date;
}

function setDate($date) {
    $this->date = $date;
}

这里我尝试使用以下命令更新数据库

php app/console doctrine:schema:update --force

但如果我尝试插入 yyyy-mm-dd't'hh:mm:ss[2017-05-03T08:44:09+0000] 这种格式,我会收到此错误:

致命错误:在第 44 行调用 C:\xampp\htdocs\epitacrm\vendor\doctrine\dbal\lib\Doctrine\DBAL\Types\DateType.php 中字符串的成员函数 format()

如何分别更改这种时间格式我采用的日期时间数据类型也不起作用。

【问题讨论】:

    标签: php symfony date datetime


    【解决方案1】:

    您的实体中$date 属性的值应该是DateTime 对象,而不是您现在尝试做的格式化字符串。

    【讨论】:

    • Matczk 我将 DateTime 添加为数据类型,但出现错误。如何在数据库中添加 [2017-05-03T08:44:09+0000] 这个时间格式我可以使用哪种数据类型?
    • PHP DateTime 对象和 SQL DATE 类型都是二进制类型,所以没有“格式”之类的东西。只有在打印这些日期时才会格式化它们。顺便说一句,您正在尝试处理日期时间,但您在 Doctrine 中使用日期类型。
    • 好的好的@Jakub Matczak 谢谢我检查我的代码
    • 我知道了@Jakub Matczak 我正在使用函数 setDate($date) { $this->date = new \DateTime($date); } 像这样,我存储需要格式
    猜你喜欢
    • 2012-05-29
    • 2019-03-18
    • 2021-01-03
    • 2019-11-20
    • 2021-07-03
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    相关资源
    最近更新 更多