yii\i18n\Formatter是一个格式化的小助手,对于我们实现前端用户友好的显示有非常大的帮助。

一、常用的属性
(1)$dateFormat
日期格式:yyyy-MM-dd,或者 "short", "medium", "long", or "full"

(2)$datetimeFormat
具体时间格式:yyyy-MM-dd HH:mm:ss

(3)$locale
区域位置,如果没有设置,将使用 yii\base\Application::$language,按照这一区域的习惯显示格式

(4)$defaultTimeZone
时区,默认UTC

要使用formatter需要在config中的配置
'formatter' => [
    'dateFormat' => 'yyyy-MM-dd',
    'datetimeFormat' => 'yyyy-MM-dd HH:mm:ss',
    'decimalSeparator' => ',',
    'thousandSeparator' => ' ',
    'currencyCode' => 'CNY',
],

二、格式化

   echo Yii::$app->formatter->asRelativeTime(1463632983).'<br/>'; // 几天前 几小时前
    echo Yii::$app->formatter->asDatetime(1463606983).'<br>';  // 2015-6-16 11:51:43
    echo Yii::$app->formatter->asDatetime('now').'<br>';
    // 也可处理null值的输出显示:
    echo Yii::$app->formatter->asDate(null).'<br>'; // 输出: (未设置)  
    echo Yii::$app->formatter->asPercent(0.125, 2).'<br>'; // 输出: 12.50%
    echo Yii::$app->formatter->asTimestamp('now').'<br>';//输出时间戳
    echo Yii::$app->formatter->asTime(1412599260).'<br>'; // 14:41:00
    echo Yii::$app->formatter->asTime('2014-10-06 12:41:00').'<br>'; // 14:41:00
    echo Yii::$app->formatter->asTime('2014-10-06 14:41:00 CEST').'<br>'; // 14:41:00

    echo Yii::$app->formatter->asRaw(1463606983).'<br>';//简单输出输入值
    echo Yii::$app->formatter->asText('<h3>hello</h3>').'<br>';//将字符串中html标签当做字符串输出
    echo Yii::$app->formatter->asHtml('<h3>hello</h3>').'<br>';//作为Html的文档输出
    echo Yii::$app->formatter->asNtext("<h3>hello.\nword</h3>").'<br>';//在字符串中遇到\n可以将它作为换行符实现
    echo Yii::$app->formatter->asEmail('cebe@example.com').'<br>';// 输出: <a href="mailto:cebe@example.com">cebe@example.com</a>
    echo Yii::$app->formatter->asParagraphs('hello').'<br>';// 值会转换成HTML编码的文本段落,用<p>标签包裹;
    echo Yii::$app->formatter->asUrl('www.baidu.com').'<br>';//值会格式化成url的连接
    echo Yii::$app->formatter->asImage('my2.jpeg',['alt'=>'图片无法显示']).'<br>';//图片的链接会转化成<img src='my.jpg'/>
    echo Yii::$app->formatter->asBoolean(true).'<br>';//输出yes

上一篇:Yii2学习笔记十八:Ueditor百度编辑器(转载)

下一篇:Yii2学习笔记二十:Yii2 主题Themes使用