【问题标题】:PHP: Match a specific date to a recurring iCal rulePHP:将特定日期与重复的 iCal 规则匹配
【发布时间】:2011-12-03 23:52:18
【问题描述】:

我需要构建一个简单的日历以嵌入到我的 PHP 应用程序中。

基本上,我有一堆循环事件,其 iCal 循环规则 (rrule) 是已知的(例如:“FREQ=MONTHLY;INTERVAL=2;BYDAY=SU”或“FREQ=WEEKLY;BYDAY=SU”)。

基本上我需要一个给定的函数
_ 一个事件 iCal rrule
_ 某天(例如 2011 年 4 月 10 日)
返回一个布尔值,告诉我该事件是否在该日期进行。

显然我可以自己构建它,但需要很长时间:是否有任何 可靠的 库已经可用?

谢谢,

【问题讨论】:

  • 9 年后,我想知道您是否找到了您想要的东西?我正在寻找相同的功能(对于另一种语言,但好吧,对此不能挑剔)。

标签: php calendar icalendar


【解决方案1】:

虽然我自己的日历项目已经结束并且我没有使用 iCal,但也许这会有所帮助。

我自己的经验是,我找不到任何类型的库,我从头开始编写自己的后端代码。

对于前端,我强烈建议您使用 FullCalendar,它是一个很棒的日历,您可以用它来做些什么。然后,您需要做的就是专注于后端。

对于数据库,我会走每个事件只有 1 个数据库行的路线,当该事件被修改时,如果它是重复发生的,那么您修改现有事件并创建一个带有更改的新事件。

对于后端逻辑,结合 fullcalendar 它为您提供了一个可以使用的窗口。在这个窗口中,我会计算出事件发生的时间,然后显示,如果事件重复发生,然后计算出它应该在日历上显示的时间。它可能会有点复杂,但你可以做到。

我附上了我所做的照片,遗憾的是这个项目不是开源的。

Add New Recurring Event

Calendar with Recurring Events

Amend Recurring Event

Agenda List View

干杯

【讨论】:

  • 但是我真的需要一个用于 PHP 方面的库。
  • 谢谢。我真希望我能帮上忙。我用谷歌搜索,再用谷歌搜索,然后再用谷歌搜索,哈哈,我找不到任何我想要的东西。
猜你喜欢
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
相关资源
最近更新 更多