我的一个朋友2月29日生日。为此,我在Google日历中创建了一个重复活动。 Google日历会在leap年而不是非le年(例如下周!)显示此事件。

我希望日历将事件移动到前一天或后一天(要么可以争辩方向),但我认为完全不显示事件是一个错误。

是否可以解决此问题?
这是Google日历中的已知错误吗? (会修复吗?)
您希望如何处理?

评论

从逻辑上讲,该事件每四年重复一次=)

@Gipsy,我原则上同意:)但如果我只在leap年里向他表示祝贺,我的朋友就会难过。

这可能有点技术含量低,但为什么不在28号设置提醒呢?

是的,这是另一个非常好的解决方案,因为它是如此简单,我什至没有想到!但这并不能回答问题本身。

#1 楼

有人提出了一个很好的解决方案,该解决方案可以在每年的60日(相当于2月29日或3月1日)在您的日历上写一个活动。
http://www.google.com/support/forum/ p / Calendar / thread?tid = 1afbf0737d261d5c&hl = zh-CN

您想要一个事件,该事件在每年的60日重复发生,相当于3月1日或2月29日(如果适用)。我在下面做了一些源代码。只需将“ Someone”替换为您想要的人的名字,在记事本中另存为.ics文件类型,然后上传到您的日历即可。
BEGIN:VCALENDAR
BEGIN:VEVENT
RRULE:FREQ = YEARLY; INTERVAL = 1; BYYEARDAY = 60
DESCRIPTION:
位置:
顺序: 0
状态:确认
摘要:某人的生日
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

希望有帮助。
要导入ICS文件:在“我的日历”的左侧列表中,单击“设置”链接,然后单击“导入日历”链接。

评论


第60天-多么棒的解决方法!!我可以确认这一切正常:今年该活动将于3月1日登陆。明年2月29日。 =完美!

– Torben Gundtofte-Bruun
2011-2-23在12:59

#2 楼

以下是替代方法,它产生的日期是2月的最后一天(28日或29日):

BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART;VALUE=DATE:20120229
DTEND;VALUE=DATE:20120229
RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=2;BYMONTHDAY=-1
DESCRIPTION:
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Someone's Birthday
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR


通常,这更适合生日,因为在许多情况下司法管辖区,2月29日在法律上只是2月28日的简单延伸,用于计算周年纪念日和其他年度事项。

当然,您可以在非双性恋的年代庆祝飞跃的婴儿;对于那些希望在二月份保留它的人来说,这只是另一种解决方案!

如果有帮助,您可能希望阅读有关iCalendar规范中自定义重复规则所提供的灵活性的更多信息。