2010-12-23 3 views
14

Gibt es eine freie Recurrence-Bibliothek, die verfügbar ist, die wir verwenden könnten ?, suchen wir nach etwas wie wir liefern die Datum Uhrzeit und die Art der Wiederholung (täglich, monatlich, wöchentlich und die Intervall (sagen wir für alle 2 Wochen oder Monate oder Tage) und wir eine Liste der zukünftigen Termine bekommen ???Recurrence Library für Datumsberechnungen für .Net

Dank Nen

Antwort

4

Sie könnten this blog post by Jon Skeet zum Thema lesen möchten, die sich auf die Noda Time Bibliothek.

+2

Hier ist ein aktualisierter Link zu Jon Skeets Blogpost: http://codeblog.jonskeet.uk/2010/12/01/the-joys-of-date-time-arithmetic/ – David

+3

<< Jetzt nur zu machen Dinge klar, ich habe nicht vor, über wiederkehrende Ereignisse zu sprechen - Dinge wie "der zweite Dienstag und der letzte Mittwoch jeden Monats" >>. Leute, lest du die Links, die du vorschlägst ?! – MatteoSp

3

Aspose.iCalendar, die Teil ihres Aspose.Network-Produkts ist, scheint zu sein Haben Sie, was Sie wollen:

//Ten team meetings, every Monday at 10am. 
RecurrencePattern pattern = new RecurrencePattern(
    "DTSTART:20040301T100000\n" + 
    "RRULE:FREQ=WEEKLY;COUNT=10;BYDAY=MO"); 
DateArray dates = pattern.GenerateOccurrences(); 

Allerdings ist der Kauf von Aspose.Network nur für diese Funktionalität wahrscheinlich übertrieben.

+1

wow, das ist wirklich hässlich API-Design – Guy

+0

Nicht zu erwähnen, dass $ 599 ein wenig zu viel ist, wenn Sie nur Wiederholung wollen; Es ist schade, dass sie es nicht als eigenständige Komponente veröffentlichen. Aber dennoch könnte es Ideen geben, wie (oder wie nicht) eine API für die Wiederholung entworfen werden kann. –

+3

leider dieses "hässliche" Wiederholungsmuster ist Teil des ical-Dateiformats – k3b

9

Ich verwende dday-ical at sourceforge für Wiederholungsberechnungen.

Neben Laden und und saveing ​​ische Dateien, die es Kalender-recurrencerules a la

every 4th friday in every month but not on xmas 

Werfen Sie einen Blick auf mozilla-Kalender (sunbird) oder Microsoft Outlook, um zu sehen, wie komplexe Wiederholung Daten sein können interpretete können.

Update:

Das Projekt https://github.com/rianjs/ical.net bewegt hat und ist Nuget erhältlich mit: iCal.Net

+0

Für mich hat die Verwendung dieser Bibliothek den Vorteil, dass sie RFC 5545-konform ist. Welches wiederum von Kendo verwendet wird Scheduler-Steuerung J Obwohl das Format der Eingabewerte zu Beginn nicht sehr benutzerfreundlich erscheint. – alehro

+1

Ich würde upvote, wenn Sie ein Codebeispiel geben, wie diese Bibliothek mit String aufgerufen wird, z. B. * jeden vierten Freitag eines jeden Monats * und interpretiert bekommen? –

4

einen Blick auf Itinerary nehmen. Es macht genau das.

Offenlegung: Ich bin der Projektbetreuer.

+0

noch kein nugget-Paket? :) – topwik

+0

aber versteht es ical Format, wie Rulle Zeug? – topwik