gpt4 book ai didi

datetime - 如何避免 TYPO3 中的日期时间问题?

转载 作者:行者123 更新时间:2023-12-05 02:21:03 24 4
gpt4 key购买 nike

我创建了一个小扩展,它使用日期时间来查看一些特定事件(事件日期和事件时间),但是如果我尝试从数据库到前端获取正确的日期时间,我总是会遇到麻烦。

我可以通过 TYPO3 后端为每个事件设置日期时间:

enter image description here

但如果我尝试在前端获取此值,例如:

<f:format.date format="d.m.Y - H:i:s">{event.appointment}</f:format.date>

那么输出不是“10.04.2016 - 08:00:00”,而是“10.04.2016 - 10:00:00”。

如何避免这种行为?我也通过安装工具设置了时区:

[SYS][phpTimeZone] = Europe/Berlin

但我总是得到错误的日期时间。如果我尝试这样的事情:

DebugUtility::debug(new \DateTime());

然后我得到正确的输出:

{"date":"2016-04-09 20:23:38.000000","timezone_type":3,"timezone":"Europe\/Berlin"}

如果我查看数据库,我可以看到存储了正确的日期时间:

enter image description here

所以我不知道为什么我得到错误的日期时间,有什么建议吗?

最佳答案

在 TYPO3 中日期转换存在一些不一致,它在 TCE 和 Extbase 中表现不同。 Extbase 认为所有日期都以 UTC 格式存储在数据库中,因此在数据映射过程中会将您的日期从 UTC 转换为理论上的本地时间(恕我直言,不应完成或应通过安装工具进行配置),肮脏但有效的技巧是愚弄 TYPO3 , 只需在 Install Tool > All configurations 中找到 [SYS][phpTimeZone] 设置并将其值设置为 UTC.

这样 Extbase 会认为您在 UTC 区内,您不需要更改 php.ini 中的任何内容。

另一种解决方案是将日期作为时间戳存储在数据库中。

关于datetime - 如何避免 TYPO3 中的日期时间问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36521073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com