php - 默认情况下将 propel 设置为日期格式 getDate ("Y-m-d"),以便更好地与 zend toArray() 一起使用

标签 php zend-framework orm doctrine propel

我的查询返回一个包含日期字段的对象

$obj = ObjectQuery::create()->findPK(11);
  • var_dump($obj) 将日期字段显示为 yyyy-mm-dd 就像它在数据库中一样
  • $obj->getThedate(); 将格式更改为 mm/dd/yy 我不想发生这种情况
  • $obj->getThedate("Y-m-d"); 在数据库中给我相同的格式 yyyy-mm-dd

因此,为了以与存储在数据库中的格式相同的格式获取数据,我需要在获取特定日期字段时设置格式,如第三行。

问题是我没有单独读取日期字段。我将完整的 $obj 作为一个整体并使用 Zend 的 toArray() 将其转换为数组,因此我无法控制 toArray() 的读取方式日期字段。有没有一种方法可以将 Propel 设置为默认以 ("Y-m-d") 格式交付?可能在正确的配置设置中?

最佳答案

Propel 用于临时列的默认格式可以通过 three build configuration parameters 配置:

propel.defaultTimeStampFormat = {Y-m-d H:i:s}|string
propel.defaultTimeFormat = {%X}|string
propel.defaultDateFormat = {%x}|string

如您所见,日期的默认格式为 %x,即 the preferred date representation based on your locale .您应该将其更改为 %Y-%m-%d 或简写 %F

关于php - 默认情况下将 propel 设置为日期格式 getDate ("Y-m-d"),以便更好地与 zend toArray() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086092/

相关文章:

PHP守护进程脚本

zend-framework - 如何摆脱 Zend_Form dl、dt、dd 标签?

php - Zend Framework 中的干净 Ajax Controller 实现

php - 持久化 Zend Framework ACL 列表

LINQ 与 nHibernate

c# - 自动映射器首先映射 EF 可投影属性,然后映射其他属性

用于公开 ORM 方法的可扩展且快速的 REST API

php - Javascript 中的警报消息

php - 如何在 Laravel 应用程序中使类可全局访问?

php - 来自 mysql 的 Json 中断