iCalendar 行事曆事件

又稱: VEVENT, 行事曆 QR Code, ICS 事件, iCalendar event

定義

iCalendar 事件是以 BEGIN:VEVENT 開頭、描述會議或約會的標準文字區塊。編碼成 QR Code 後,手機就能把事件加入行事曆。

事件文字的樣子

iCalendar 事件是位於 BEGIN:VEVENT 與 END:VEVENT 之間、一組帶標籤的行。這個格式定義於 2009 年發布的 RFC 5545,與 .ics 行事曆檔案使用的是同一種。

QR Code 大小的範例:BEGIN:VEVENT、SUMMARY:Bread baking class、DTSTART:20261015T170000Z、DTEND:20261015T190000Z、LOCATION:Maple Street Bakery, Portland、END:VEVENT。完整的行事曆檔案會把事件包在 BEGIN:VCALENDAR 中,並加入 UID 與 DTSTAMP 等欄位,但 QR Code 為了節省空間,常常只帶事件區塊。

  • SUMMARY:事件標題
  • DTSTART 與 DTEND:開始與結束時間,格式為 YYYYMMDDTHHMMSS
  • LOCATION:地點或地址
  • DESCRIPTION:較長的備註
  • 結尾的 Z 表示該時間為 UTC

把時間寫對

以 UTC 並在結尾加上 Z 來寫時間,是讓事件對每個人都顯示為正確當地時間的最簡單方法。沒有 Z 的時間會被當成浮動的當地時間,對其他時區的人可能會偏移,而指定時區名稱需要額外資料,會讓 QR Code 變大。

全天事件可以使用只有日期的值,例如 DTSTART;VALUE=DATE:20261015。

支援情況與替代做法

內建相機 App 對事件 QR Code 的支援各不相同;有些會提供直接加入事件的選項,有些則只顯示文字,或需要掃描 App。印刷前,值得在你的受眾使用的手機上檢查。

常見的替代做法是使用連結到代管 .ics 檔案,或附有加入行事曆按鈕的活動頁面的 QR Code。連結也讓你在 QR Code 印出之後,仍能更正時間或地點。

常見問題

QR Code 可以把事件加入我的行事曆嗎?

可以。把事件編碼成 iCalendar VEVENT 區塊,支援的手機會提供加入的選項。支援程度不一,所以連結到 .ics 檔案是可靠的備案。

行事曆時間結尾的 Z 是什麼意思?

它表示該時間為 UTC。行事曆 App 之後會把它轉換成每個人的當地時區。

為什麼我的行事曆 QR Code 把事件加在錯誤的時間?

時間大概是在沒有 Z 或時區的情況下寫的,所以被掃描的手機當成當地時間讀取。請以 UTC 並在結尾加上 Z 來寫時間。

來源與標準

所有名詞