填寫標題、地點、日期和時間、時區、重複、受邀人、提醒和備註,然後下載 .ics 檔案或直接在行事曆中開啟。您也可以貼上日程,或附加文件或相片,一次建立多個活動。

如何讓行事曆事件每週或每月重複?

重複只是 .ics 檔案中的一行:RRULE:FREQ=WEEKLY,搭配 INTERVAL 可設定每隔兩期或三期,搭配 COUNT 或 UNTIL 可結束系列。ICS Maker 的表單可設定頻率(每天、每週、每月、每年)、間隔,以及系列是永不結束、在若干次後停止,還是執行到某個日期——並將 RRULE 寫入下載的檔案中,讀取的行事曆會自行展開,因此無論系列多長,都能維持一個小檔案。選擇特定的日子並不在表單中,而是對檔案進行一行編輯:每月最後一天用 FREQ=MONTHLY;BYMONTHDAY=-1,第一個星期一用 BYDAY=1MO,僅限平日用 BYDAY=MO,TU,WE,TH,FR。本頁列出十二條可供貼上的此類規則。

檔案中的規則

重複只是一行:RRULE:FREQ=WEEKLY。行事曆會讀取它並自行產生各次事件,這就是為什麼重複事件無論執行多久都能維持一個小檔案的原因。此規則還可以帶有間隔(INTERVAL=2 表示每兩週一次)、結束日期(UNTIL),或次數限制(COUNT)。

此產生器會寫入所有內容。選擇頻率、設定間隔——每 2 週一次、每 3 個月一次——並選擇系列是永不結束、在若干次後停止,還是執行到某個日期。它產生的這一行是標準格式,因此開啟該檔案的行事曆會建立完全符合描述的系列。

可供貼上的重複規則

表單涵蓋頻率、間隔以及系列的結束方式。選擇特定的日子——每月最後一天、第一個星期一、僅限平日——是下載檔案後對其進行的一行編輯:用文字編輯器開啟它,並將 RRULE: 這一行替換為以下其中之一。這些部分皆來自 RFC 5545,因此 Google 日曆、Outlook、Apple 日曆和 Thunderbird 讀取方式皆相同。

每週,同一天
RRULE:FREQ=WEEKLY
每隔一週(每兩週一次)
RRULE:FREQ=WEEKLY;INTERVAL=2
每個平日,週一至週五
RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
每月的1號
RRULE:FREQ=MONTHLY;BYMONTHDAY=1
每月的最後一天
RRULE:FREQ=MONTHLY;BYMONTHDAY=-1
每月的第一個星期一
RRULE:FREQ=MONTHLY;BYDAY=1MO
每月的最後一個星期五
RRULE:FREQ=MONTHLY;BYDAY=-1FR
每月的最後一個工作日
RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
每三個月一次(每季)
RRULE:FREQ=MONTHLY;INTERVAL=3
每年,在起始日期
RRULE:FREQ=YEARLY
十二次後停止
RRULE:FREQ=MONTHLY;COUNT=12
每週,直到固定日期
RRULE:FREQ=WEEKLY;UNTIL=20261231T235959Z

各部分如何組合

FREQ 是唯一必要的部分;其他一切都只是縮小範圍。INTERVAL 會跳過若干週期,因此 FREQ=WEEKLY;INTERVAL=2 是每隔一週而非每隔一天。BYDAY 使用兩個字母的星期代碼,前面加上數字則可選取當月中的某一次出現——1MO 是第一個星期一,-1FR 是最後一個星期五。BYMONTHDAY 則是計算日期,若為負數則從尾端往回算,這正是讓 BYMONTHDAY=-1 成為表示「最後一天」的可靠方式的原因。BYSETPOS 會從規則其餘部分在每個週期中所匹配到的內容裡進行挑選,因此搭配 BYSETPOS=-1 的平日清單會落在最後一個工作日上。

該選擇哪種頻率

每週會固定在您為起始日所選的星期幾,每月則固定在日期上。每月31號的事件是典型的陷阱:大多數行事曆會跳過沒有31號的月份,而不是將事件移動,因此若您指的是每月最後一天,請使用 BYMONTHDAY=-1,而不是將系列的起始日設在31號並寄望它能順利運作。

常見問題

如何停止重複事件?
將「重複結束」設定為次數或最後日期,檔案會相應地帶有 COUNT 或 UNTIL。若保持設定為「永不」,系列會持續執行,直到您在自己的行事曆中將其結束,而行事曆隨時都能編輯已匯入的系列。
COUNT 和 UNTIL 有什麼不同?
COUNT 會在若干次事件後停止系列——COUNT=12 表示十二次,不再更多,無論日期如何演算。UNTIL 會在某個時間點停止,寫成如 UNTIL=20261231T235959Z 的 UTC 時間戳記,任何會落在此之後的事件將直接不會發生。兩者從相反的兩端達成相同的效果,而 RFC 5545 不允許在同一規則中同時使用兩者。
我可以讓事件每隔一週重複一次嗎?
可以——選擇「每週」並將間隔設為2。檔案的重複規則會帶有 INTERVAL=2,每個行事曆都會將其解讀為每兩週一次。同樣的方法也適用於每3天一次、每6個月一次等等。
如何在每月最後一天重複?
使用 FREQ=MONTHLY;BYMONTHDAY=-1,這是對下載檔案的手動編輯——表單可設定頻率、間隔和結束方式,但無法設定選取當月的哪一天。負數會從尾端往回算,因此會依各月份的情況落在28號、29號、30號或31號。將每月系列的起始日改設在31號則是常見的錯誤:大多數行事曆會跳過沒有31號的月份,而不是移動該事件。
如何跳過系列中的某一次事件?
在 RRULE 旁加入一行 EXDATE,列出要移除的該次事件的起始時間——EXDATE:20261225T090000Z 會移除該單一次事件,並保留其餘部分。若要移動而非刪除該次事件,請將 EXDATE 與帶有相同 UID 及指向原始時段的 RECURRENCE-ID 的第二個 VEVENT 搭配使用。
重複規則匯入 Outlook 或 Google 後還能保留嗎?
可以。RRULE 是 RFC 5545 的一部分,兩者皆能讀取,Apple 日曆和 Thunderbird 也是如此。它們會在匯入時展開系列,而非儲存每一次事件。