2009-11-18 21 views
0

我正在尋找一個PHP(或更好的紅寶石)庫來處理事件日曆。我看過幾十個人,每次遇到經常性事件時都會發生故障。許多需要和結束日期,大多數創建每個循環事件作爲數據庫中的條目或其他東西。循環日曆不會過期的事件

我得到的每一個建議都是使用Google日曆,它確實做了我想要的,但我確信他們不會讓我在服務之上建立服務。

回答

1

聽起來像你可能不想推出自己的,但是如果設置一個cron作業來檢查每x分鐘是否有任何必須發送的事件呢?

1

我自己並沒有使用Runt,但它看起來可能會做你想做的。

根據他們的主頁:

欠幅脈衝是由Martin Fowler在超夢幻Ruby語言的選擇時間模式的實現。欠幅脈衝規定:

  • 定義重複使用簡單,設置般的表情
  • 的接口爲基礎的API事件 創建 時間表任意 事件的能力/對象使用時間 點
  • 精度處理日期類型
  • 日期範圍
  • 永久和平和/或永生
1

RiCal的再發規則適用於此。他們做數學,實施將取決於你。

require 'rubygems' 
require 'ri_cal' 
rule = RiCal::PropertyValue::RecurrenceRule::RecurringMonthDay.new(15) 
p rule.include?(Date.new(2025, 7, 15)) # true 
0

瞭解週期性事件的一件好事是我們的日曆每28年循環一次。 即今天是2010年12月3日,所以我知道在28年(10226天),我們將於2038年12月3日星期四。 有了這些知識,您可以在有限的時間內創建一個發生表,只需「移動」它到您的目標時間範圍...