Yii自定义日期格式(模式)

时间:2011-07-19 07:13:00

标签: php date yii

除了包含的日期模式(小,中,全)之外,还有办法指定自己的日期模式。这里的要点是它应该与i18n一起使用。我尝试了几件事,但我无法让它发挥作用......

Yii::app()->dateFormatter->format("l d/m/Y",$slide->date_start);

我知道strftime,但问题在于不同的托管服务提供商使用不同的区域设置字符串......您必须自定义它...

我正在寻找一种优雅的方式。

我想以l d/m/Y形式显示日期...

更新: 没关系......我刚刚发现dateFormatter没有使用标准的php日期格式......

2 个答案:

答案 0 :(得分:1)

我认为你应该只在Unix Time测量时间,因为时区和时区日期格式是表示层问题。 Unix时间总是UTC&这是一个单一的数字,因此更容易在代码中传递。

到目前为止,“托管服务提供商使用不同的区域设置字符串”的问题,只需询问用户他的时区&根据那个显示。比试图猜测更容易出错。

对于日期格式,请查看YII的format()

希望它能回答你的问题

答案 1 :(得分:0)

以下是相关的yii forum discussion

yii论坛解决方案对我有用,可以避免原始的SQL NOW()语句,但仍会生成数据库友好的日期字符串,其中包含PHP date()time()函数,否则这些函数将返回整数。

在protected / config / main.php中:

...
'params'=>array(
    'mysqlDateTimeFormat' => 'Y-m-d H:i:s', # ':u' adds microsecond precision,
...

然后,无论您想将日期时间字符串放入模型字段,都可以使用

$myModel->myDate = date(Yii::app()->params['mysqlDateTimeFormat']);

如果您愿意,显然您可以直接在日期(或时间)功能中输入日期/时间格式。