【发布时间】:2016-05-07 08:44:18
【问题描述】:
我正在尝试从 MySQL 数据库返回时间格式字段的列表,并使用 Cake\I18n\Time 类来操作它们。目前,当从数据库中获取数据时,这些字段使用当前日期。我想为它们设置我自己的日期(因为数据可以是多个日期),但我似乎找不到一个优雅的解决方案。
到目前为止,我在测试期间的解决方案是使用Time::setTestNow($now) 设置日期,然后在我的实体中创建一个函数来正确设置日期,如下所示:
$newTime = new Time();
$newTime->hour($savedTime->format("H"))
->minute($savedTime->format("i"))
->second($savedTime->format("s"));
显然,这似乎是一种为这些字段设置日期的相当麻烦的方法。我的应用程序中有其他功能需要比较日期和时间(日期可以从另一个表中获取)所以Time::setTestNow() 似乎是正确设置正确日期以及设置日、月和年为每个新的时间似乎也是一个繁琐的解决方案。
我可以使用其他方法来设置从数据库中提取时间的日期吗?我宁愿在我的模型中拥有正确的时间,而不是每次我想使用它时都必须转换它)。
谢谢。
【问题讨论】:
-
我不明白我们的问题?您将日期存储在数据库中,但它们不是您想要的,您想在回显它们时操纵它们?为什么不首先存储正确的日期? DB中日期的格式和字段类型是什么?
-
嗨,我将时间作为时间字段存储在数据库中,日期作为日期字段存储在另一个表中。我需要能够在时间上设置正确的日期,以便与它们进行比较。
-
这听起来像是一种有缺陷的设计方法。
-
我正在尝试实现GTFS 样式系统,因此我需要将日期和时间分开。
-
有趣。而我的回答并没有解决这个问题?
标签: php mysql date cakephp cakephp-3.0