yii\i18n\Formatter是一个格式化的小助手,对于我们实现前端用户友好的显示有非常大的帮助。
$dateFormat
日期格式:yyyy-MM-dd,或者 “short”, “medium”, “long”, or “full”
$datetimeFormat
具体时间格式:yyyy-MM-dd HH:mm:ss
$locale
区域位置,如果没有设置,将使用 yii\base\Application::$language
,按照这一区域的习惯显示格式
$defaultTimeZone
时区,默认UTC
要使用formatter需要在config中的main.php 内配置
'formatter' => [
'dateFormat' => 'yyyy-MM-dd',
'datetimeFormat' => 'yyyy-MM-dd HH:mm:ss',
'decimalSeparator' => ',',
'thousandSeparator' => ' ',
'currencyCode' => 'CNY',
],
echo Yii::$app->formatter->asDate('2014-01-01', 'long'); // 输出: January 1, 2014
echo Yii::$app->formatter->asRelativeTime(1463632983).'
'; // 几天前 几小时前
echo Yii::$app->formatter->asDatetime(1463606983).'
'; // 2015-6-16 11:51:43
echo Yii::$app->formatter->asDatetime('now').'
';
// 也可处理null值的输出显示:
echo Yii::$app->formatter->asDate(null).'
'; // 输出: (未设置)
echo Yii::$app->formatter->asPercent(0.125, 2).'
'; // 输出: 12.50%
echo Yii::$app->formatter->asTimestamp('now').'
';//输出时间戳
echo Yii::$app->formatter->asTime(1412599260).'
'; // 14:41:00
echo Yii::$app->formatter->asTime('2014-10-06 12:41:00').'
'; // 14:41:00
echo Yii::$app->formatter->asTime('2014-10-06 14:41:00 CEST').'
'; // 14:41:00
echo Yii::$app->formatter->asRaw(1463606983).'
';//简单输出输入值
echo Yii::$app->formatter->asText('hello
').'
';//将字符串中html标签当做字符串输出
echo Yii::$app->formatter->asHtml('hello
').'
';//作为Html的文档输出
echo Yii::$app->formatter->asNtext("hello.\nword
").'
';//在字符串中遇到\n可以将它作为换行符实现
echo Yii::$app->formatter->asEmail('[email protected]').'
';// 输出: [email protected]
echo Yii::$app->formatter->asParagraphs('hello').'
';// 值会转换成HTML编码的文本段落,用标签包裹;
echo Yii::$app->formatter->asUrl('www.baidu.com').'
';//值会格式化成url的连接
echo Yii::$app->formatter->asImage('my2.jpeg',['alt'=>'图片无法显示']).'
';//图片的链接会转化成
echo Yii::$app->formatter->asBoolean(true).'
';//输出yes