从日期中查找日期范围
Find a date range from a date
你会如何解决下面的问题?
在给定的日期,我想找到一个学年的范围。学年总是从 9 月 1 日开始,一直持续到 8 月底。因此,对于今天 (2015-07-16),我想要函数 return 日期 2014-09-01 和 2015-08-31。如果我要 运行 在三个月 (2015-10-16) 内执行相同的功能,我想获得 2015-09-01 和 2016-08-31 returned.
谢谢,
/托马斯
--@anant-kumar-singh 要求编辑--
PHP中的示例函数:
function getAcademicYear($date) {
// Logic code...
return array($dateStart, $dateEnd);
}
调用getAcademicYear('2015-07-16');
应该return数组,['2014-09-01','2015-08-31']
并调用 getAcademicYear('2015-10-16');
应该 return 数组,['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
你会如何解决下面的问题?
在给定的日期,我想找到一个学年的范围。学年总是从 9 月 1 日开始,一直持续到 8 月底。因此,对于今天 (2015-07-16),我想要函数 return 日期 2014-09-01 和 2015-08-31。如果我要 运行 在三个月 (2015-10-16) 内执行相同的功能,我想获得 2015-09-01 和 2016-08-31 returned.
谢谢,
/托马斯
--@anant-kumar-singh 要求编辑--
PHP中的示例函数:
function getAcademicYear($date) {
// Logic code...
return array($dateStart, $dateEnd);
}
调用getAcademicYear('2015-07-16');
应该return数组,['2014-09-01','2015-08-31']
并调用 getAcademicYear('2015-10-16');
应该 return 数组,['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