6

EXDATE有人可以解释在将事件添加到 android 日历时如何使用吗?该文档对于EXDATE应该放置的格式非常不清楚。我尝试了许多格式,其中一些是:

values.put(Events.EXDATE, "TZID=Europe/London:20130116T080000");
values.put(Events.EXDATE, "20130116T080000Z");
values.put(Events.EXDATE, "20130116T080000");
values.put(Events.EXDATE, "20130116");

但它们都不起作用。知道如何使事件不会出现在特定日期,如果RRULE它应该出现吗?

4

3 回答 3

7

正确的格式是:

values.put(Events.EXDATE, "20130116T080000Z");

但是,您必须确保它是 UTC 时间。从 PST 开始我遇到了同样的问题,所以我只需要增加 8 小时才能让它工作。

于 2013-02-01T21:55:12.400 回答
1

除了@kee23 的回答,下一个变体对多个EXDATE值有效:

contentValues.put(CalendarContract.Events.EXDATE, "20130116T080000Z,20130118T080000Z");
于 2019-08-16T08:43:22.527 回答
0

我在@kee23 出色而正确的答案之上添加:

我刚刚意识到,在 android 中,你不能将EXDATE 持久化到一个无限重复的事件中,比如说RRULE:FREQ=DAILY。您需要限制出现次数,如RRULE:FREQ=DAILY;COUNT=600.

谷歌没有记录这一点,如果您尝试使用 EXDATE 保持无休止的重复,也不会出现错误消息。就我而言,它只是默默地放弃了 RRULE 和 DURATION。

于 2018-03-27T14:34:55.983 回答