LoginSignup
1
1

More than 5 years have passed since last update.

phpで日付をフォーマットに当てはめて表示するのに苦労した話

Last updated at Posted at 2018-03-18

今回、日付をフォーマットに当てはめて表示するのに苦労した。

<?php
        $week = ['日', '月', '火', '水', '木', '金', '土'];
        foreach($caht_query as $row) { ?>
        <dl>
          <dt class="chatmb-name<?php
          $current_user->ID == $row->from_user_id ? print ' chatmb-self' : print ' chatmb-partner';
          ?>"><?php echo $row->from_user_name; ?></dt>
          <dd class="chatmb-message"><?php
          image_flag ? print $row->message : print $row->message;
          ?></dd>
          <dd class="chatmb-date"><?php
          $date = new DateTime($row->create_time);
          echo $date->format('n.j(').$week[$date->format('w')].$date->format(') H:i');
          ?></dd>
        </dl>
        <?php } ?>

って感じでなんとかうまくいった。

曜日の日本語化

ポイントは、曜日の日本語化だったかな。

まず配列に文字を入れる。

        $week = ['日', '月', '火', '水', '木', '金', '土'];

オブジェクト化する

          $date = new DateTime($row->create_time);

出力の際、通常のやつと曜日とで分ける。

date関数だけじゃったらフォーマットうまくいかんかった。

苦労したのは

date(フォーマット形式 [, タイムスタンプ][ ]は省略可);

みたいな形がダメじゃったこと
たぶん、タイムスタンプとして持ってきてた変数が、形式がダメじゃったんじゃろう。

参考URL

PHPで日付関数を使いこなす(date, strtotime)
https://qiita.com/shuntaro_tamura/items/b7908e6db527e1543837

PHP: date
http://php.net/manual/ja/function.date.php

【PHP入門】DateTimeを使って日付をフォーマットしてみよう!
http://programming-study.com/technology/php-datetime/

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1