回答

收藏

yii显示数据格式化,时间,字符串格式化显示

店滴CMS 店滴CMS 1051 人阅读 | 0 人回复 | 2020-11-03

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); // 几天前 几小时前

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('cebe@example.com');// 输出:[[email]cebe@example.com[/email]](mailto:cebe@example.com)

echo Yii::$app->formatter->asParagraphs('hello');// 值会转换成HTML编码的文本段落,用标签包裹;

echo Yii::$app->formatter->asUrl('www.baidu.com');//值会格式化成url的连接

echo Yii::$app->formatter->asImage('my2.jpeg',['alt'=>'图片无法显示']);//图片的链接会转化成![](https://www.php.cn/phpkj/yii/%3Cbr)'my.jpg'/>

echo Yii::$app->formatter->asBoolean(true);//输出yes
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

21813 积分
108 主题
+ 关注
热门推荐