有关DTSTART与今天相关的事件的QR代码

时间:2012-11-21 21:07:28

标签: qr-code icalendar rfc2445

是否可以创建一个QR码,在日历中设置一个事件,其日期与扫描代码的日期相关?

示例:扫描代码,从今天起2个月后,我的手机会显示活动或向我提供提醒提醒。

2 个答案:

答案 0 :(得分:1)

您可以创建一个QR代码,该代码指向位于.ics文件的URL。有一次下载文件时,设备上会出现一个弹出窗口,设置事件。

您可以创建自定义.ics文件,例如:http://www.pratie.com/lab/icalendar/

编辑: 您可以在代码编程中动态编译DSTART变量:

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
DTSTART:20121121T090000
DTEND:20121121T100000
SUMMARY:fdsf
LOCATION:
DESCRIPTION:
PRIORITY:3
END:VEVENT
END:VCALENDAR

变量DSTART的格式如下:

DSTART:<year><month><day>T<hour><minutes><seconds>

要使用相对“现在”时间,您可以使用编程提供的多个选项。 (Time.now,timestamp),然后将其转换为正确的.ics输出。

答案 1 :(得分:1)

Icalendar规范(RFC5545)不允许DTSTART是相对的:

3.8.2.4.  Date-Time Start [...] The time value MUST be one of the forms defined for the DATE-TIME value type. The value type can be set to a DATE value type.

3.3.4.  Date [...] The textual format specifies a four-digit year, two-digit month, and two-digit day of the month.

3.3.5.  Date-Time [...] The "DATE-TIME" value type is used to identify values that contain
  a precise calendar date and time of day.

然而,QRCODE可以是一个url的链接,然后动态生成一个带有DTSART的文件,该文件将被设置为将来2个月的日期。