首页 > 解决方案 > 如何使用 Doctrine 保存时间跨度/时间数据类型?

问题描述

我在实体中有以下定义:

  /**
     * @var string
     * 
     * @ORM\Column(name="`End Time`", type="time", length=50, precision=0, scale=0, nullable=true, unique=false)
     */
    private $End_Time;

然后我使用以下方法保存它:

$dt = DateTime::fromFormat('H:i:s');
$entity->setEnd_Date($dt);
$em->persist($entity);

这适用于简单的用法,但我有一些特殊情况需要处理:

例如。

-9:00:00- 负时间值(MySQL Time 类型允许,但 PHP Datetime 不允许)
145:00:00- 大于 24 小时的小时数

如何使用 Doctrine 将这些值存储在 MySQL 中?

标签: phpmysqltimetimestampdoctrine

解决方案


推荐阅读