微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PHP DateInterval创建重复事件

所以我花了很多时间研究如何最好地将重复发生的事件添加到我的日历应用程序中.

我想使用PHP DateInterval函数并制定下面的代码,尝试根据原始事件Start Date,Finish Date和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?

这应该有希望创建一个新的事件开始日期列表.但我还需要为我的定期事件定义新的结束日期.我该怎么做呢?我是否需要在事件开始日期foreach循环中处理此问题?

我的另一个问题是如何组合多个dateIntervals来处理每周一,周三和周五的重复?目前只有一个dateIntervals像下周五一样工作

谢谢你的帮助!

蒂姆

Thomas Planer为PHP 5.2提供了一个日期/日历递归库.它不是DateInterval,但似乎可以解决问题.请在 https://github.com/tplaner/When查看

我知道这是一个老问题,但也许有人会受益!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐