[英]Find a date range from a date
您将如何解决以下问题?
我想在给定的日期找到一个学年的范围。 学年总是从9月1日开始,一直持续到8月底。 因此,对于今天(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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.