将 propel 默认设置为日期格式 getDate("Y-m-d"),以便更好地与 zend toArray() 配合使用
Posted
技术标签:
【中文标题】将 propel 默认设置为日期格式 getDate("Y-m-d"),以便更好地与 zend toArray() 配合使用【英文标题】:setting propel by default to date format getDate("Y-m-d"), to work better with zend toArray() 【发布时间】:2011-02-23 01:30:59 【问题描述】:我的查询返回一个包含日期字段的对象
$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")
格式交付?可能在 prople 配置设置中有什么东西?
【问题讨论】:
【参考方案1】: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
。
【讨论】:
感谢 Jan,感谢您的帮助。以上是关于将 propel 默认设置为日期格式 getDate("Y-m-d"),以便更好地与 zend toArray() 配合使用的主要内容,如果未能解决你的问题,请参考以下文章