测试以查看今天的日期是否介于日期和月份之间


Test to see if the date today is between a date and month

我想测试一下今天的日期是否在rangeBeginrangeEnd的范围内。目前,下面的代码返回 false。使用 echo $today 会导致值为 17/12,这对于 today 的值是正确的

   <?php
    $today = date('d.m');
    $today= date('d/m', strtotime($today));; 
        $rangeBegin = strtotime("01-12");
        $rangeEnd =  strtotime("02-01");
        if($rangeBegin <= $today && $rangeEnd >= $today)
        {
          //in range
        }
        else
        {
          //not in range
        }
    ?>

请有人告诉我我在上面的代码中哪里出错了,以便测试今天的日期是否在两个范围之间。

即,由于是 12 月 17 日,它应该在 12 月 1 日至 1 月 2 日之间返回 true。

请记住,1月2日是明年。而时间不是那样工作的。

$today = new DateTime();
$year = (int) $today->format("Y");
$rangeBegin = DateTime::createFromFormat("Y-m-d H:i:s", "$year-12-01 00:00:00");
$rangeEnd = clone $rangeBegin;
$rangeEnd =  $rangeEnd->modify("+32 days");
if ($rangeBegin <= $today && $rangeEnd >= $today) {
  echo "true";
} else {
  echo "false";
}

在某处设置正确的时区。

date_default_timezone_set("Europe/Oslo");