php - 使用日期"星期二每隔一周"

Gre*_*eg 6 php date recurring-events

我有一个网络调度应用程序,我目前正在重写,并有一些关于如何使用定期约会的问题(我知道,当涉及到重复的appts时,不缺少"什么是最好的方法").

所以我想提供定期约会,其中用户可以安排约会,如6月2星期六,并且它应该在星期六每隔一周重复一段预定的时间段(例如1年).

什么PHP功能可以帮助我确定"每隔一个星期六"哪个日期落在哪?我附上了我的UI图片以便澄清.

在此输入图像描述

Mar*_*ker 14

就个人而言,我希望使用DateTime对象并使用DateInterval类.

在上面的例子中,你需要计算出第一个/下一个星期六的日期,然后才能使用P2W日期间隔

基本的例子

$dow   = 'saturday';
$step  = 2;
$unit  = 'W';

$start = new DateTime('2012-06-02');
$end   = clone $start;

$start->modify($dow); // Move to first occurence
$end->add(new DateInterval('P1Y')); // Move to 1 year from start

$interval = new DateInterval("P{$step}{$unit}");
$period   = new DatePeriod($start, $interval, $end);

foreach ($period as $date) {
    echo $date->format('D, d M Y'), PHP_EOL;
}

/*
Sat, 02 Jun 2012
Sat, 16 Jun 2012
Sat, 30 Jun 2012
Sat, 14 Jul 2012
…
Sat, 20 Apr 2013
Sat, 04 May 2013
Sat, 18 May 2013
Sat, 01 Jun 2013
*/
Run Code Online (Sandbox Code Playgroud)