date_format[格式化日期]
格式化從函數(shù)strftime()獲得的時(shí)間和日期。
Unix或者mysql等的時(shí)間戳記(parsable by
strtotime)都可以傳遞到smarty。
設(shè)計(jì)者可以使用date_format完全控制日期格式。
如果傳給date_format的數(shù)據(jù)是空的,將使用第二個(gè)參數(shù)作為時(shí)間格式。 ?
test.php:
$config['date'] = '%I:%M %p';
$config['time'] = '%H:%M:%S';
$smarty->assign('config', $config);
$smarty->assign('yesterday', strtotime('-1 day'));
test.html:
{$smarty.now|date_format}<br>
{$smarty.now|date_format:"%D"}<br>
{$smarty.now|date_format:$config.date}<br>
{$yesterday|date_format}<br>
{$yesterday|date_format:"%A, %B %e, %Y"}<br>
{$yesterday|date_format:$config.time}<br>
需要注意一點(diǎn)修改php.ini配置:
加上date.timezone = Asia/Shanghai
不然會(huì)報(bào)錯(cuò):
It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
輸出:
date_format支持格式:
%a - 當(dāng)前區(qū)域星期幾的簡(jiǎn)寫(xiě)
%A - 當(dāng)前區(qū)域星期幾的全稱(chēng)
%b - 當(dāng)前區(qū)域月份的簡(jiǎn)寫(xiě)
%B - 當(dāng)前區(qū)域月份的全稱(chēng)
%c - 當(dāng)前區(qū)域首選的日期時(shí)間表達(dá)
%C - 世紀(jì)值(年份除以 100 后取整,范圍從 00 到 99)
%d - 月份中的第幾天,十進(jìn)制數(shù)字(范圍從 01 到 31)
%D - 和 %m/%d/%y 一樣
%e - 月份中的第幾天,十進(jìn)制數(shù)字,一位的數(shù)字前會(huì)加上一個(gè)空格(范圍從 ' 1' 到 '31')
%g - 和 %G 一樣,但是沒(méi)有世紀(jì)
%G - 4 位數(shù)的年份
%h - 和 %b 一樣
%H - 24 小時(shí)制的十進(jìn)制小時(shí)數(shù)(范圍從 00 到 23)
%I - 12 小時(shí)制的十進(jìn)制小時(shí)數(shù)(范圍從 00 到 12)
%j - 年份中的第幾天,十進(jìn)制數(shù)(范圍從 001 到 366)
%k - 小時(shí),24 小時(shí)格式,沒(méi)有前導(dǎo)零
%l - 小時(shí),12 小時(shí)格式,沒(méi)有前導(dǎo)零
%m - 十進(jìn)制月份(范圍從 01 到 12)
%M - 十進(jìn)制分鐘數(shù)
%n - 換行符
%p - 根據(jù)給定的時(shí)間值為 `am' 或 `pm',或者當(dāng)前區(qū)域設(shè)置中的相應(yīng)字符串
%r - 用 a.m. 和 p.m. 符號(hào)的時(shí)間
%R - 24 小時(shí)符號(hào)的時(shí)間
%S - 十進(jìn)制秒數(shù)
%t - 制表符
%T - 當(dāng)前時(shí)間,和 %H:%M:%S 一樣
%u - 星期幾的十進(jìn)制數(shù)表達(dá) [1,7],1 表示星期一
%U - 本年的第幾周,從第一周的第一個(gè)星期天作為第一天開(kāi)始
%V - 本年第幾周的 ISO 8601:1988 格式,范圍從 01 到 53,第 1 周是本年第一個(gè)至少還有 4 天的星期,星期一作為每周的第一天。(用 %G 或者 %g 作為指定時(shí)間戳相應(yīng)周數(shù)的年份組成。)
%w - 星期中的第幾天,星期天為 0
%W - 本年的第幾周數(shù),從第一周的第一個(gè)星期一作為第一天開(kāi)始
%x - 當(dāng)前區(qū)域首選的時(shí)間表示法,不包括時(shí)間
%X - 當(dāng)前區(qū)域首選的時(shí)間表示法,不包括日期
%y - 沒(méi)有世紀(jì)數(shù)的十進(jìn)制年份(范圍從 00 到 99)
%Y - 包括世紀(jì)數(shù)的十進(jìn)制年份
%Z - 時(shí)區(qū)名或縮寫(xiě)