你会如何解决下面的问题?
在给定日期,我想查找学年的范围。学年总是从九月一日开始,一直持续到八月末。因此,今天(2015-07-16)我希望函数返回日期 2014-09-01 和 2015-08-31。如果我要在三个月内(2015-10-16)运行相同的函数,我希望返回 2015-09-01 和 2016-08-31。
谢谢,
/托马斯
--@anant-kumar-singh 请求的编辑--
PHP 中的示例函数:
function getAcademicYear($date) {
// Logic code...
return array($dateStart, $dateEnd);
}
调用 getAcademicYear('2015-07-16');
应返回数组,['2014-09-01','2015-08-31']
并调用getAcademicYear('2015-10-16');
应返回数组 ['2015-09-01','2016-08-31']
--编辑--
function findAcademicYear($date) {
$dateTime = new DateTime($date);
$dateTime->sub(new DateInterval("P8M"));
return(array(
"startDate" => date("Y-m-d", strtotime($dateTime->format("Y")."-08-31 + 1 day")),
"endDate" => ($dateTime->format("Y") + 1)."-08-31")
);
}
最佳答案
我将使用以下逻辑:从日期中减去 8 个月,提取年份,并将其用作年份的规范:
select date(concat(year(date_sub(date, interval 8 month)), '-09-01')) as academic_start,
date(concat(1 + year(date_sub(date, interval 8 month)), '-08-31')) as academic_end
关于php - 从日期中查找日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31452732/