我的查询返回一个包含日期字段的对象
$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/