PHP

SmartyでYYYYMMDDの文字列から日付表示をする方法

Smarty の date_format を使うと、YYYYMMDD HH:MM:SS のような日付はきれいにパースしてくれます。

しかし、YYYYMMDD の文字列を日付のフォーマットには変換してくれません。

今回は、Smarty で YYYYMMDD の文字を日付フォーマット変換する方法を紹介します。

日付に一度変換する

対処法としては、strtotime で文字列を日付に変換しておいて、その後に date_format を使います。

これで、YYYYMMDD な日付文字列を YYYY-MM-DD や YYYY年MM月DD日のようなフォーマットに簡単に変換できます。

以下の説明が該当しそうな気がします。

Smarty-2.6.10 より前は、PHP の strtotime() がパース可能な数値文字列 (YYYYMMDD のような形式) は、タイムスタンプではなく日付文字列として解釈されることもあります(strtotime() の実装に依存します)。

Smartyの記述方法

Smarty の定義は以下のようになります。

どうしてもダイヤが必要な場合

時間を短縮したい。お店屋さんの生産枠を増やしたい。など、ゲームを進めるうえで、どうしても少しだけダイヤを課金したくなる時ってありますよね。

そんな時は、楽天市場で「itunesカード」を購入すると楽天ポイントの還元があってお得です。

iOS(iPhone)の人に限られてしまいますが、初回購入時に 500 円オフのキャンペーンをしていたり、楽天ポイントも最大で 16 倍とものすごくお得です。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

App Store & iTunes ギフトカード(3,000円)
価格:3000円(税込、送料無料) (2020/5/24時点)