我在创建日期算法(使用DateTime对象)时遇到困难,该算法会检查日期是否在两个给定月份之间(年末被视为8月31日)。
所以今年年初被视为9月1日,XXXX和年底被认为是8月31日XXXX + 1
$today = new DateTime('now');
我需要查看日期是否在6月到5月之间。
例如,如果是2009年12月 是2009年6月到2010年5月之间的日期吗? (是)
如果日期是2014年4月
是2013年6月到2014年5月之间的日期吗? (是)
如果日期是2014年7月
日期是2013年6月至2014年5月。(不)
答案 0 :(得分: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
}
答案 1 :(得分: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);
}