当前位置: 首页 > 知识库问答 >
问题:

在Symfony2(条令)和MySQL中启用微秒

郎子平
2023-03-14

我有一个实体,它有一列“datetime”类型来存储时间戳。

/**
 * @ORM\Column(type="datetime")
 */
protected $timestamp;

我有MySQL 5.5.40,我发现它不存储微秒。因此,我切换到 5.6.21 并导入了所有表和数据。

我试图将类型声明为

 * @ORM\Column(type="datetime(6)")

但它给了我一个错误。因此,我直接在数据库中更改了它,方法是:

ALTER TABLE symfony.hrmgmt MODIFY timestamp DATETIME(6);

在我的控制器中,我执行以下操作:

  $dt = new \DateTime('now');
  $newHREvent->setTimestamp($dt);

但尽管如此,时间戳存储时不带分数秒。

我可以(现在)通过SQL手动输入带有小数值的日期时间,但是当我通过控制器输入时,它总是存储. 000000

我想这是因为教义不知道它也可以存储微秒。

我的PHP版本还是5.4.34。

谢谢大家!

共有2个答案

计均
2023-03-14

关注此博客,创建自己的自定义数据类型并将其 https://blog.tomhanderson.com/2018/09/datetime-with-microseconds-for-mysql-in.html

我在经历了你提到的确切步骤后来到这里,升级mysql,手动更改列数据类型精度,我和你一样处于确切的状态...

这与PHP版本无关,相反,条令在这里起到了一定的作用。

就像对于十进制值,原则支持精度和小数位数< code>type="decimal"例如:< code>precision=10,scale=2,它应该支持< code>datetime,但目前不支持

此问题目前正在跟踪此处 https://github.com/doctrine/dbal/issues/2873

然而,有一个博客解释了一个变通方法,直到学说最终解决了这个问题https://blog.tomhanderson.com/2018/09/datetime-with-microseconds-for-mysql-in.html

我相信它是由汤姆·H·安德森写的

申屠宏胜
2023-03-14

要使用微秒创建日期时间,必须在控制器中使用datetime::createFromFormat

$date = \DateTime::createFromFormat('U.u', (string)microtime(true));
 类似资料:
  • 我对教义不熟悉,现在我想做以下事情。 表“用户朋友”: 此表包含联系人列表的条目。 现在我想得到一个条目的结果,比如: 此查询将用于从联系人列表中获取未经对方朋友确认的条目(其中b为空,他尚未将“我”添加到联系人列表中)。我希望你明白我在找什么。 我不确定b为NULL的位置是否正确,或者如果已经有另一个条目(表中已确认的朋友),如何检查一个查询,正确的方法是什么?我的想法类似于左连接,你可以在上面

  • 在使用php app/console原则时,我得到以下错误:schema:update--force。 这里是我的实体文件的问题。(profiles部分完成)。

  • 本文向大家介绍symfony2 多条路线,包括了symfony2 多条路线的使用技巧和注意事项,需要的朋友参考一下 示例 在Symfony中,可以为一个动作定义多个路径。如果您具有功能相同但参数不同的函数,则这将非常有用。            

  • 是否有一种方法可以只得到那些数据我不需要所有的数据从所有其他的表组合键??多谢帮忙!

  • 我这里有一个问题,我已经启动并运行了我的XAMP,我在我的系统中安装了ZEND Framework、ZEND Server和ZEND Studio。现在的问题是localhost不工作。我研究发现两者都可以在pc上运行,但我必须在两者中选择apache。我停止了Apache Zend的服务,但我的本地主机没有启动。 我还检查了apache的错误日志,最后一个条目是今天的,即周二上午10:28。而X

  • 问题内容: 我正在Ubuntu环境 (LAMP)* 上工作,但是当我在 Windows 7启动器 操作系统上安装 symfony2 时,当我尝试在Windows中使用命令提示符制作 实体时 ,它会遇到问题,但它不会使用 php app / console * 任何帮助表示赞赏! 谢谢 问题答案: 您需要将PHP可执行文件添加到PATH中,或使用绝对链接调用它:。