date_format修飾子 日付と時間を整形する
日付と時間を strftime() のフォーマットに基づいて整形する。
与える変数はPHP の strtotime() でパース可能な日付で、Unix タイムスタンプ や MySQL タイムスタンプ、
月・日・年で構成された文字列です。
Smarty-2.6.10 以降、date_format に渡された数値は
常にUnix タイムスタンプとして解釈されるようになりました。
(MySQL タイムスタンプは例外)
Smarty-2.6.10 より前は、PHP の strtotime() がパース可能な数値文字列 (YYYYMMDD のような形式) は、
日付文字列として解釈されることもある。
(strtotime() の実装に依存する)
唯一の例外は、MySQL タイムスタンプです。これは数値のみで、文字数は14文字 ("YYYYMMDDHHMMSS") です。
MySQL タイムスタンプは UNIX タイムスタンプより優先される。
date_format は、本質的には PHP の strftime() 関数のラッパーです。
strftime() の実装によって、利用可能な変換指定子が多少変わります。
パラメータの位置 | 型 | 必須 | デフォルト | 概要 |
---|---|---|---|---|
1 | string | No | %b %e, %Y | 日付の表示フォーマット |
2 | string | No | n/a | 入力が空のときのデフォルトの日付 |
date_format の変換指定子
指定子 | 説明 |
---|---|
%a | 現在のロケールに基づく短縮された曜日の名前 |
%A | 現在のロケールに基づく完全な曜日の名前 |
%b | 現在のロケールに基づく短縮された月の名前 |
%B | 現在のロケールに基づく完全な月の名前 |
%c | 現在のロケールに基づく適当な日付と時間の表現 |
%C | 世紀(年を100で割り、整数に丸めたもの。00から99) |
%d | 10進数の日付(01から31) |
%D | %m/%d/%yと同じ |
%e | 月単位の日付を10進数で表したもの。日付が1桁の場合は、前に空白を一つ付ける。('1'から'31') |
%g | 西暦の下二桁 [00,99] |
%G | 西暦 [0000,9999] |
%h | %bと同じ。 |
%H | 時間を24時間表示の10進数で(00から23まで) |
%I | 時間を12時間表示の10進数で(01から12までの範囲) |
%j | 年間での日付を10進数で表現 (001から366) |
%k | 24時間表示の時間の一桁目に空白を入れる ( 0 から 23までの範囲) |
%l | 12時間表示の時間の一桁目に空白を入れる ( 1 から 12までの範囲) |
%m | 月を10進数で表現 (01から12) |
%M | 分を10進数で表現 |
%n | 改行文字 |
%p | 指定した時間により `am' または `pm' 、または 現在のロケールに対応した文字列 |
%r | a.m.およびp.m.表記で表した時間 |
%R | 24時間表記で表した時間 |
%S | 10進数で表した秒 |
%t | タブ文字 |
%T | 現在の時間。%H:%M:%Sに等しい。 |
%u | 10進数表記の曜日で[1,7]の範囲。1が月曜日。 |
%U | 年間で何番目の週であるかを 10 進数で表現。年間で最初の日曜を最初の週の最初の日として数えます。 |
%V | ISO 8601:1988で規定された現在の年の週番号の10進数表現で 01から53までの範囲となります。 1は最初の週でその週は現在の年に 最低4日はあります。週は月曜日から始まります。 |
%w | 曜日を10進数で表現。日曜は0になります。 |
%W | 現在の年で何番目の週であるかを10進数で表現。 年間で最初の月曜を最初の週の最初の日として数えます。 |
%x | 時間を除いた日付を現在のロケールに基づき表現します。 |
%X | 日付を除いた時間を現在のロケールに基づき表現します。 |
%y | 世紀の部分を除いた年を10進数として表現。(00から99までの範囲) |
%Y | 世紀を含む年を10進数で表現 |
%Z | タイムゾーンまたはその名前または短縮形 |
%% | 文字リテラル`%' |
例
PHP
$config['date'] = '%I:%M %p'; $config['time'] = '%H:%M:%S'; $smarty->assign('config', $config); $smarty->assign('yesterday', strtotime('-1 day'));
テンプレート
{$smarty.now|date_format} {$smarty.now|date_format:"%D"} {$smarty.now|date_format:$config.date} {$yesterday|date_format} {$yesterday|date_format:"%A, %B %e, %Y"} {$yesterday|date_format:$config.time}
出力
Jan 1, 2009 01/01/09 04:23 am Dec 31, 2008 Monday, December 1, 2008 04:23:00
関連記事
- 修飾子の連結
- smarty:nodefaults修飾子
- wordwrap修飾子 指定した文字数で文字列を改行する
- upper修飾子 変数を大文字に置き換える
- truncate修飾子 指定した文字数で変数を切り捨てる
- strip_tags修飾子 マークアップタグ(HTMLタグ)を取り除く
- strip修飾子 1つの空白または与えられた文字列によって置き換える
- string_format修飾子 フォーマット(整形)して表示する
- spacify修飾子 各文字の間にスペースを挿入する
- replace修飾子 文字列の検索・置換を行う
- regex_replace修飾子 正規表現による検索・置換を行う
- nl2br修飾子 改行をHTML改行タグに置き換える
- lower修飾子 小文字に置き換える
- indent修飾子 文字列をインデントする
- escape修飾子 エンコードやエスケープを行う
- default修飾子 デフォルト値を設定する
- count_words修飾子 単語の数を数える
- count_sentences修飾子 センテンス(文)の数を数える
- count_paragraphs修飾子 文章の数を数える
- count_characters修飾子 文字数を数える
- cat修飾子 変数に値を連結する
- capitalize修飾子 単語の先頭を大文字にする
スポンサーリンク