Das Startdatum wird in einigen Fällen zurückgegeben, wenn google-rfc-2445 (iCalendar) verwendet wird.

8

Ich habe viele RRULEs durchsucht, um die Leistung von google-rfc-2445 (eine Java-Implementierung von IETF RFC 2445 iCalendar ).

Ich habe gesehen, dass ich das Startdatum in einigen Fällen in der Rückkehrliste von der Methode zurückbekommen habe.

Der Test ist sehr einfach:

%Vor%

Die von der Fabrik zurückgegebene Liste gibt diese Liste zurück.

Das erste Datum ist das Startdatum und es ist ein Samstag, der nicht da sein sollte. Die RRULE enthielt auch einen COUNT = 10, warum also 11 zurückgeben?

%Vor%

Jemand, der das Google-rfc-2445 verwendet, muss dieses Problem schon einmal gehabt haben?

Ich habe das Problem auf der Projektseite veröffentlicht, aber es ist sehr ruhig dort. Link zum Problem auf der Seite google-rfc-2445

    
Kazzim 15.12.2014, 14:52
quelle

2 Antworten

3

RFC2445 Abschnitt 4.3.10 Wiederholungsregel gibt an, dass

  

[...] Der COUNT-Regelteil definiert die Anzahl der Vorkommen, an denen die Wiederholung bereichsbündig sein soll. Der Wert der Eigenschaft "DTSTART", falls angegeben, gilt als erstes Vorkommen. [...]

, während das Vorhandensein von DTSTART in der zurückgegebenen Liste normal ist, ist weniger die Größe der zurückgegebenen Liste zu erwarten.

Angesichts der RFC2445-Spezifikation ist es sinnvoller, wenn die DTSTART die erste Instanz der Wiederholung ist, um auch sicherzustellen, dass andere Kalender die ical-Datei richtig verstehen.

Ebenfalls zu beachten ist, dass RFC2445 durch RFC5545 veraltet ist, was auch die DTSTART als erste Instanz von RRULE angibt (und sogar betont, Anmerkung: das hinzugefügte Wort immer) (empahsis von mir hinzugefügt)

  

Abschnitt RFC5545 RRULE : Der COUNT-Regelteil definiert die Anzahl der Vorkommen, bei denen der Bereich liegen soll -gebunden die Wiederholung. Der "DTSTART" -Eigenschaftswert immer zählt als erstes Vorkommen.

    
oberron 26.12.2014 16:24
quelle
2

Versuchen Sie etwas wie folgt:

%Vor%

Die Idee ist, die Sequenz einen Tag früher zu starten und das erste Datum mit der EXDATE-Regel auszuschließen.

    
Art Zaborskiy 23.12.2014 21:57
quelle

Tags und Links