1

日付が特定の 2 か月 (年末は 8 月 31 日と見なされる) の間にあるかどうかを確認する日付アルゴリズム (DateTime オブジェクトを使用) の作成に問題があります。

したがって、年始は XXXX の 9 月 1 日と見なされ、年末は XXXX+1 の 8 月 31 日と見なされます。

$today = new DateTime('now');

日付が 6 月から 5 月の間かどうかを確認する必要があります。

たとえば、2009 年 12 月の場合
、日付は 2009 年 6 月から 2010 年 5 月の間ですか? (はい)

日付が 2014 年 4 月の場合 日付は
2013 年 6 月から 2014 年 5 月の間ですか? (はい)

日付が 2014 年 7 月の場合
2013 年 6 月から 2014 年 5 月までの日付です。(いいえ)

4

2 に答える 2

1

DateTime オブジェクトは、2 つの整数のように比較できます。

$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 に答える