1

我在创建日期算法(使用 DateTime 对象)时遇到困难,该算法检查日期是否在两个给定月份之间(今年年底被认为是 8 月 31 日)。

所以年初被认为是 9 月 1 日,XXXX,年底被认为是 8 月 31 日 XXXX+1

$today = new DateTime('now');

我需要看看日期是否在六月和五月之间。

例如,如果是 2009 年 12 月
,那么日期是否介于 2009 年 6 月和 2010 年 5 月之间?(是的)

如果日期是 2014 年 4 月
,日期是否在 2013 年 6 月和 2014 年 5 月之间?(是的)

如果日期是 2014 年 7 月
是 2013 年 6 月和 2014 年 5 月之间的日期。(否)

4

2 回答 2

1

DateTime 对象可以像两个整数一样进行比较:

$date1 = new DateTime('December 2012');
$date2 = new DateTime('June 2012');
$date3 = new DateTime('May 2013');

if ($date1 > $date2 && $date1 < $date3)
{
     // place your code here
}
于 2012-12-18T19:22:51.597 回答
0

找到了一个让我开始的答案:

https://stackoverflow.com/a/11937688/36545

function academicYear(DateTime $userDate) {
    $currentYear = $userDate->format('Y');
    $cutoff = new DateTime($userDate->format('Y') . '/08/31 23:59:59');
    if ($userDate < $cutoff) {
        return ($currentYear-1) . '/' . $currentYear;
    }
    return $currentYear . '/' . ($currentYear+1);
}
于 2012-12-18T19:52:49.013 回答