关于Magento的时间/时区问题
今天同事研究为啥保存的时间不是东八区时间,由此引来的话题。
Magento整个系统中使用UTC时间,即通用协调时(UTC, Universal Time Coordinated)。这样保证在不同的视图或者Store里使用的时间与本地时间一致,在系统配置中可以看到,每个视图或者店铺可以单独设置时区。
Magento在数据库中存贮的都是UTC时间,在渲染视图的时候会显示当前时间。
如果想在视图中获取当前时间,可以使用如下函数:
Mage::
getModel
(
'core/date'
)
->
date
(
)
;
或者在Grid中使用:
$this
->
addColumn
(
'customer_since'
,
array
(
'header'
=>
Mage::
helper
(
'customer'
)
->
__(
'Customer Since'
)
,
//这个是指定该字段是时间字段,在视图输出的时候会自动转成当地时间。
'type'
=>
'datetime'
,
'align'
=>
'center'
,
'index'
=>
'created_at'
,
'gmtoffset'
=>
true
)
)
;