我有一个开始日期和结束日期。
我试图让所有的周二和每两个星期的星期三。PHP:DateInterval在X天每两个星期
实施例:
2017年5月23日(TU)
2017年5月24日(我们)2017年6月6日(TU)
2017-06- 07(我们)
...
我试图在PHP做:个
$start = new FrozenTime('2017-05-23'); // Date is in this format 'cause I'll save into DB
$endOfYear = $start->endOfYear();
$perWeek = new \DateInterval('P14D'); // I want every 2 weeks
$periodPerWeek = new \DatePeriod($start, $perWeek, $endOfYear);
$days = ['2', '3']; // Tuesday and Wednesday
foreach ($periodPerWeek as $value) {
if (in_array($value->format('N'), $days)) {
$test[] = [
'start' => $value
];
}
}
结果:
"start": "2017-05-23",
"start": "2017-06-06",
"start": "2017-06-20",
它变得只有一个阵列的日期。我也需要得到星期三的!我该怎么做?
重要提示:
开始日期不会总是星期二。用户可以选择他想要的星期几。
例如: 用户可以在每两周选择每个SU,WE和FR。
// start date example: 2017-05-20 (saturday)
// output should be like:
2017-05-22 (SU)
2017-05-24 (WE)
2017-05-26 (FR)
2017-06-05 (SU)
2017-06-07 (WE)
2017-06-09 (FR)
...
你的意思是周二和周三或周三和周四? – fubar
你的周三和周四都回至前:) –
@fubar更新的问题! – Victor