PHP(ピー・エイチ・ピー)

Smartyで日時を扱う方法

{$smarty.now}で日時を取得

Smartyで日時を取得する場合には{$smarty.now}を使用します。

ただ、
{$smarty.now}で扱われるのはタイムスタンプの為、
ユーザー側ページに日時を公開する場合には、
date_formatという修飾子を用いてフォーマットを指定します。

例えば、
現在の日付と日時を「○○○○-○○-○○ ○○:○○:○○」という形式で表示したい場合には
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
とするだけです。

また、
日本語のサイトで日付を表示する場合には、
「○○○○年○○月○○日」
としたいですね。

その場合には、
{$smarty.now|date_format:"%Y年%m月%d日"}
とするだけです。

ただし、
これだと「2018年08月09日」というように2桁にフォーマットされるので、
「月」や「日」の頭に「0(ゼロ)」が付いてしまいます。
Smartyのマニュアル:https://www.smarty.net/docsv2/ja/language.modifier.date.format.tpl
を確認しても、
先頭に「0」を付けずに表示させるフォーマットが無いようです。

もしかして、先頭に「0」を付けない方法がない!?
なんてことはありません。

「0」を付けずに日付けを表示したい場合には、
{$smarty.now|date_format:"%Y年%-m月%-d日"}
と「-m」や「-d」のようにすればOKです。
これで、
「2018年8月9日」
と表示されるようになります。

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

アーカイブ

PAGE TOP