我花了很多时间研究如何最好地将重复事件添加到我的日历应用程序中。
我想使用PHP DateInterval函数,并制定了下面的代码,以尝试根据原始事件的“开始日期”、“结束日期”和“重复结束日期”创建重复事件。
//user defined event start and finish dates
$eventStart = new DateTime( '2011-01-31 09:00:00' );
$eventFinish = new DateTime( '2011-01-32 17:00:00' );
//user defined event recurring end date
$endRecurring = new DateTime( '2011-05-31 23:59:59' );
//define for recurring period function
$begin = $eventStart;
$end = $endRecurring;
//define our interval
$interval = DateInterval::createFromDateString('next friday');
$period = new DatePeriod($begin, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
//loop through and create new dates for recurring events
foreach ( $period as $dt )
$recurringStartDate = $dt->format( "l Y-m-d H:i:s\n" );
$recurringEndDate = ?NOT SURE HOW TO PROCESS THE END DATE IN THIS START DATE FOREACH LOOP?
希望这能生成一份新事件开始日期的列表。但我还需要为我的重复事件定义新的结束日期。我该怎么做?我需要在事件开始日期的foreach循环中处理吗?
另一个问题是如何组合多个dateInterval来处理“每周一、三和五重复”的情况?目前只能单独使用dateInterval,例如“下周五”。