0

我正在寻找一个 PHP 库(或者更好的 ruby​​ 库)来处理事件日历。我看了几十个,当涉及到重复事件时,每个都崩溃了。许多要求和结束日期,并且大多数将每个重复事件创建为数据库或其他内容中的条目。

我得到的每一个建议都是使用谷歌日历,它确实可以满足我的需求,但我相信他们不会让我在服务之上构建服务。

4

4 回答 4

1

我自己没有使用过Runt,但它看起来可能会做你想做的事。

根据他们的主页:

Runt 是 Martin Fowler 用超棒的 Ruby 语言实现的选择时间模式。Runt 提供:

  • 使用简单的、类似集合的表达式定义重复事件的能力
  • 用于为任意事件/对象创建时间表的基于接口的 API
  • 使用时间点的精确日期类型
  • 日期范围
  • 永恒的和平和/或永生
于 2009-11-18T02:55:58.173 回答
1

RiCal 的重复规则适用于此。他们做数学,实施将取决于你。

require 'rubygems'
require 'ri_cal'
rule = RiCal::PropertyValue::RecurrenceRule::RecurringMonthDay.new(15)
p rule.include?(Date.new(2025, 7, 15)) # true
于 2009-11-18T03:02:26.660 回答
1

听起来您可能不想自己动手,但是设置一个 cron 作业以每 x 分钟检查一次是否有必须发送的事件呢?

于 2009-11-18T01:43:52.860 回答
0

关于经常性事件的一件好事是我们的日历每 28 年循环一次。即今天是 2010 年 12 月 3 日星期四,所以我知道在 28 年(10226 天)后,我们将是 2038 年 12 月 3 日星期四。有了这些知识,您可以在有限的时间段内建立一个事件表,然后将其“移动”到您的目标时间范围...

于 2010-12-03T18:19:10.717 回答