除了包含的日期模式(小,中,全)之外,还有办法指定自己的日期模式。这里的要点是它应该与i18n一起使用。我尝试了几件事,但我无法让它发挥作用......
Yii::app()->dateFormatter->format("l d/m/Y",$slide->date_start);
我知道strftime
,但问题在于不同的托管服务提供商使用不同的区域设置字符串......您必须自定义它...
我正在寻找一种优雅的方式。
我想以l d/m/Y
形式显示日期...
更新:
没关系......我刚刚发现dateFormatter
没有使用标准的php日期格式......
答案 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']);
如果您愿意,显然您可以直接在日期(或时间)功能中输入日期/时间格式。