13.日付・曜日の表示の仕方


週間天気予報には、日付・曜日の表示が必要になります。

曜日は、土曜日は青色、日曜日は赤色の表示にします。

では早速、日付・曜日の表示のコードを見ていきましょう‼️

<?php
 // 三重県のjsonデータのアドレス
 $url = "https://www.jma.go.jp/bosai/forecast/data/forecast/240000.json";

  $json = file_get_contents($url);
  $data = json_decode($json,true);

 // 曜日の配列
 $dayList = ["日", "月", "火", "水", "木", "金", "土"];

 // 日付の取得と曜日の計算
 $dt = new DateTime($data[1]['timeSeries'][0]['timeDefines'][1]);
 $weekdayCount = $dt->format('w');
	   
 // 曜日に応じて色を設定
 $color = '';
 if ($weekdayCount == 0) {
  $color = 'red'; // 日曜日
 } elseif ($weekdayCount == 6) {
   $color = 'blue'; // 土曜日
 }
   
 // 日付のフォーマット
 $weekdate = $dt->format('m/d') . '(' . $dayList[$weekdayCount] . ')';

 // 日付・曜日の表示
 echo "<span style='color: $color;'> $weekdate </span>";
?>

13-1.日付の取得

$data[1][‘timeSeries’][0][‘timeDefines’][1]には、下記日付データが入っています。

new DateTime() は、PHPのDateTimeクラスのインスタンスを作成するためのコンストラクタです。

DateTimeクラスは、日付や時刻の処理を行うための便利な機能を提供します。

new DateTime() は、指定された日付や時刻の文字列を元に、DateTimeオブジェクトを作成します。

例えば、次のように使用します:

<?php
 $dt = new DateTime('2024-06-24T00:00:00+09:00');
?>

これにより、’2024-06-24’という日付のDateTimeオブジェクトが作成されます。

そして、このDateTimeオブジェクトを使用して、さまざまな日付や時刻の操作を行うことができます。


13-2.曜日の計算

<?php
 $weekdayCount = $dt->format('w');
?>

上記コードは、DateTime オブジェクト $dt から曜日を取得しています。

format() メソッドは、DateTime オブジェクトの日付や時刻を指定された形式でフォーマットするために使用されます。

引数に ‘w’ を指定することで、曜日を表す数値を取得します。0 が日曜日、1 が月曜日、2 が火曜日、…、6 が土曜日を表します。

13-3.曜日に応じて色を設定

<?php
 // 曜日に応じて色を設定
 $color = '';
 if ($weekdayCount == 0) {
  $color = 'red'; // 日曜日
 } elseif ($weekdayCount == 6) {
   $color = 'blue'; // 土曜日
 }
?>

①$weekdayCount == 0の時、日曜日赤色

②$weekdayCount == 6の時、土曜日青色

として、土日に色付けをします。

13-4.日付のフォーマット

<?php
// 曜日の配列
 $dayList = ["日", "月", "火", "水", "木", "金", "土"];

 // 日付のフォーマット
 $weekdate = $dt->format('m/d') . '(' . $dayList[$weekdayCount] . ')';
?>

$dayList[$weekdayCount]で$dayListの配列から、曜日を取得しています。

これで、週間天気予報の日付と曜日の設定が可能になります。

この方法ですると、週間天気予報が更新されたときに日付が変わるので安心です。

是非、お使いくださいませ‼️

次は→14.夜アイコンの表示の仕方

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA