À l'aide de PHP DateInterval pour créer des événements récurrents

J'ai passé un peu de temps à la recherche de la meilleure façon d'ajouter des événements récurrents de mon calendrier de l'application.

Je voudrais utiliser le PHP DateInterval fonction et ont formulé le code ci-dessous pour essayer de travailler sur la façon de créer un événement récurrent, basé sur l'original événements Start Date, Finish Date et la EndDate of Recurrence.

//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?

Ce devrait, espérons-le, créez une liste de nouvelles dates de début de l'événement. MAIS j'ai aussi besoin de définir de nouvelles dates de fin pour ma événements récurrents. Comment dois-je faire? Ai-je besoin de le traiter dans l'événement date de début de la boucle foreach?

Mon autre question est de savoir comment je pourrais combiner plusieurs dateIntervals de prendre soin de Repeat every Monday, Wednesday and Friday? Actuellement seul dateIntervals travaillent comme des next friday

Merci pour votre aide!

Tim

OriginalL'auteur Tim | 2011-01-12