phpにて日付で表示させるスクリプト

日付を使って当年・翌年・その他の年を適切に判定し、条件に従った出力を行いうスクリプトです。

現在の日付: 2024-12-06として

2025-01-01OK1
2024-12-07OK2
2023-12-31対象外3
2025-12-06OK2
2026-12-06対象外1

<?php

// 現在の日付を取得
$current_date = new DateTime();
$current_year = (int)$current_date->format('Y');

// URLから目標日付を取得(例: "/2025-12-06")
$url_date_string = $urlp2; // URLから取得した日付文字列(例: "2025-12-06")
$target_date = DateTime::createFromFormat('Y-m-d', $url_date_string);

if (!$target_date) {
    die("無効な日付形式です: $url_date_string");
}

// 目標日付の年と月日を取得
$target_year = (int)$target_date->format('Y');
$target_month_day = $target_date->format('m-d');

// 現在の月日を取得
$current_month_day = $current_date->format('m-d');

// 判定ロジック
if ($target_year === $current_year) {
    // 当年の目標日付の場合
    if ($current_month_day <= $target_month_day) {
        //echo "OK2"; // 当年で未来の日付
    } else {
        //echo "対象外3"; // 当年で過去の日付
        $rtimes1 = "";
    }
} elseif ($target_year === $current_year + 1) {
    // 翌年の目標日付の場合
    if ($current_month_day > $target_month_day) {
        //echo "OK1"; // 翌年で対象となる日付
    } else {
        //echo "対象外2"; // 翌年で未来過ぎる日付
        $rtimes1 = "";
    }
} else {
    // それ以外の年はすべて対象外
    //echo "対象外1";
    $rtimes1 = "";
}

カテゴリー: php

コメントを残す

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