コーディング

カスタムフィールドと日付の表示

  • このエントリーをはてなブックマークに追加

お疲れ様です制作の中村です。

 

まずはきっと誰も覚えていない前回のブログの正解(?)から。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

「北海道青森岩手宮城・・(略)・・・鹿児島沖縄」

スペースも無く一覧で送られてくる容赦のないテキスト。

これを

”北海道” ”青森” “岩手” “宮城”・・・(略)・・・”鹿児島” “沖縄“

(ダブルクォーテーション、スペース、ダブルクォーテーション)

にするのに一番手っ取り早いのはどうすれば良いか分かりますか?

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

一番手っ取り早いのは

①都道府県を区切るように無心でスペースを入れる

②スペースを” ”(ダブルクォーテーション、スペース、ダブルクォーテーション)で一括置換。

 

です。

もしかしたらこれより早い方法もあるかもしれない。

 

 

さて、さて、今回はカスタムフィールドのお話(自分の備忘録)

イベント情報やブログで日付を出力する際にカスタムフィールドのデイトピッカーを使うと思うのですが

通常デイトピッカーが出力する値はyyyy-mm-ddという表示になります(2024-07-24)

それを「2024年7月24日」という表示に変えたかった、という問題です。

 

$hogehoge = get_field(hogehoge);

取得された値をそのまま書くなら

echo $hogehoge;

で良いのですが

先述の通り2024年7月24日、という表示にしたいのでPHPのDateTimeクラスを使ってフォーマットを変更します。

 

$date = new DateTime($hogehoge);

echo $date->format(‘Y年n月j日’);

 

ここで「ん?なんでY年m月d日じゃないの?」と非常にくだらない疑問を持つ私。

 

調べましたとも。

 

するとこんな感じでフォーマットオプションがあるそうです。

  • Y: 4桁の西暦年(例: 2024)
  • y: 2桁の西暦年(例: 24)
  • m: 先頭にゼロを付けた月(例: 07)
  • n: 先頭にゼロを付けない月(例: 7)
  • d: 先頭にゼロを付けた日(例: 04)
  • j: 先頭にゼロを付けない日(例: 24)
  • D: 曜日(例: Mon)
  • l: 曜日(例: Monday)

 

なるほどこの場合頭にゼロは付けたくないのでn月j日になったのね、と納得しました。

 

PHPむっずかしいなぁ!

 

それではまた次回。

 

※アイキャッチ画像にはAdobeFireflyを使用しております。実際の人物とは関係ありません。

 

 

  • このエントリーをはてなブックマークに追加

建築に特化したホームページで集客&受注へ

実績の99%が建築業界だからわかる、"受注の取れるWebサイト"づくりを行います。
1000サイト以上の制作実績と、豊富なサービス・運営サポートが御社をバックアップ。お気軽にお問い合わせください!

D-Gripシステム Webサイトへ