日付を使って当年・翌年・その他の年を適切に判定し、条件に従った出力を行いうスクリプトです。
現在の日付: 2024-12-06として
2025-01-01 | OK1 |
2024-12-07 | OK2 |
2023-12-31 | 対象外3 |
2025-12-06 | OK2 |
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 = "";
}