date_format
パラメータの位置 | 型? | 必須 | デフォルト | 概要 |
1 | string? | No | %b %e,%Y | 日付の表示フォーマット |
2 | string? | No | n/a | 入力が空のときのデフォルトの日付 |
日付と時間をstrftime()のフォーマットに基づいて整形します。 プログラマは日付をUNIXタイムスタンプやMySQLタイムスタンプ、月・日・年で構成された(strtotimeによって解釈可能な) 文字列として変数に割り当てる事によって、デザイナーはこの修正子を使って日付の書式設定を自由にコントロールできます。
もし、date_formatに渡された日付が空であり、そして第2パラメータが渡された時は、その第2パラメータがフォーマットのための日付として使用されます。
もし、date_formatに渡された日付が空であり、そして第2パラメータが渡された時は、その第2パラメータがフォーマットのための日付として使用されます。
例 5-8. date_format
<?php
$smarty = new Smarty;
$smarty->assign('yesterday', strtotime('-1 day'));
$smarty->display('index.tpl');
?>
index.tpl :
{$smarty.now|date_format}
{$smarty.now|date_format:"%A, %B %e, %Y"}
{$smarty.now|date_format:"%H:%M:%S"}
{$yesterday|date_format}
{$yesterday|date_format:"%A, %B %e, %Y"}
{$yesterday|date_format:"%H:%M:%S"}
出力 :
Feb 6, 2001
Tuesday, February 6, 2001
14:33:00
Feb 5, 2001
Monday, February 5, 2001
14:33:00
date_format の変換指定子 :
%a - 現在のロケールに基づく短縮された曜日の名前
%A - 現在のロケールに基づく完全な曜日の名前
%b - 現在のロケールに基づく短縮された月の名前
%B - 現在のロケールに基づく完全な月の名前
%c - 現在のロケールに基づく適当な日付と時間の表現
%C - 世紀(年を100で割り、整数に丸めたもの。00から99)
%d - 日付を10進数で。(01から31)
%D - %m/%d/%yと同じ
%e - 月単位の日付を10進数で表したもの。日付が1桁の場合は、前に空白を一つ付けます。(' 1'から'31')
%h - %bと同じ。
%H - 時間を24時間表示の10進数で(00から23まで)
%I - 時間を12時間表示の10進数で(01から12までの範囲)
%j - 年間での日付を10進数で表現 (001から366)
%m - 月を10進数で表現 (01から12)
%M - 分を10進数で表現
%n - 改行文字
%p - 指定した時間により `am' または `pm' 、または 現在のロケールに対応した文字列
%r - a.m.およびp.m.表記で表した時間
%R - 24時間表記で表した時間
%t - タブ文字
%T - 現在の時間。%H:%M:%Sに等しい。
%u - 10進数表記の曜日で1?7の範囲。1が月曜日。
%U - 年間で何番目の週であるかを 10 進数で表現。年間で最初の日曜を最初の週の最初の日として数えます。
%V - ISO 8601:1988で規定された現在の年の週番号の10進数表現で 01から53までの範囲となります。 1は最初の週でその週は現在の年に 最低4日はあります。週は月曜日から始まります。
%W - 現在の年で何番目の週であるかを10進数で表現。 年間で最初の月曜を最初の週の最初の日として数えます。
%w - 曜日を10進数で表現。日曜は0になります。
%x - 時間を除いた日付を現在のロケールに基づき表現します。
%X - 日付を除いた時間を現在のロケールに基づき表現します。
%y - 世紀の部分を除いた年を10進数として表現。(00から99までの範囲)
%Y - 世紀を含む年を10進数で表現
%Z - タイムゾーンまたはその名前または短縮形
%% - 文字リテラル`%'
プログラマーズノート: date_formatは本質的にphpのstrftime()関数のラッパーです。 phpがコンパイルされたシステムのstrftime()関数に応じて、利用可能な変換指定子が多少変わる場合があります。有効な変換指定子の完全なリストは、システムのmanpageをチェックして下さい。