date_format[格式化...LOGIN

date_format[格式化日期]

格式化從函數strftime()獲得的時間和日期。
Unix或mysql等的時間戳記(parsable by strtotime)都可以傳遞到smarty。
設計者可以使用date_format完全控制日期格式。
如果傳給date_format的資料是空的,將使用第二個參數作為時間格式。

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>
{$yesterday|date_format:$config.time}< ;br>



# #加上date.timezone = Asia/Shanghai

不然會報錯:
微信图片_20180312174000.png

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支援格式:

date_format支援格式:

%a - 目前區域星期幾的簡稱

%A - 當前區域星期幾的全名

%b - 當前區域月份的簡稱

%B - 目前區域月份的全名

###%c - 目前區域首選的日期時間表達######%C - 世紀值(年份除以100 後取整,範圍從00 到99)####### %d - 月份中的第幾天,十進制數字(範圍從01 到31)######%D - 和%m/%d/%y 一樣######%e - 月份中的第幾天,十進制數字,一位的數字前會加上一個空格(範圍從' 1' 到'31')######%g - 和%G 一樣,但是沒有世紀##### #%G - 4 位數的年份######%h - 和%b 一樣######%H - 24 小時制的十進制小時數(範圍從00 到23)###### #%I - 12 小時制的十進制小時數(範圍從00 到12)######%j - 年份中的第幾天,十進制數(範圍從001 到366)###

%k - 小時,24 小時格式,沒有前導零

%l - 小時,12 小時格式,沒有前導零

%m - 十進位月份(範圍從01 到12 )

%M - 十進制分鐘數

%n - 換行符號

%p - 根據給定的時間值為`am' 或`pm',或當前區域設定中的對應字串

%r - 用a.m. 和p.m. 符號的時間

%R - 24 小時符號的時間

%S - 十進位秒數

%t - 製表符

%T - 目前時間,和%H:%M:%S 一樣

%u - 星期幾的十進制數表達[1 ,7],1 表示星期一

%U - 本年的第幾週,從第一周的第一個星期天作為第一天開始

%V - 本年第幾週的ISO 8601:1988 格式,範圍從01 到53,第1 週是本年第一個至少還有4 天的星期,星期一作為每週的第一天。 (以%G 或%g 作為指定時間戳對應週數的年份組成。)

%w - 星期中的第幾天,星期日為0

##%W - 本年的第幾週數,從第一週的第一個星期一作為第一天開始

%x - 當前區域首選的時間表示法,不包括時間

%X - 目前區域首選的時間表示法,不包括日期

%y - 沒有世紀數的十進制年份(範圍從00 到99)

%Y - 包括世紀數的十進制年份

%Z - 時區名或縮寫






下一節

<?php echo "date_format[格式化日期]";
章節課件