2010-12-23 11 views
14

¿hay una biblioteca de recurrencia gratuita que esté disponible que podamos usar?, Estamos buscando algo así como que proporcionemos la fecha y el tipo de recurrencia (diaria, mensual, semanal y intervalo (decir por cada 2 semanas o meses o días) y obtenemos una lista de futuras fechas ???Biblioteca de recurrencia para los cálculos de fecha para .Net

Gracias Nen

Respuesta

4

Es posible que desee leer this blog post by Jon Skeet sobre el tema, en referencia a la biblioteca Noda Time.

+2

Aquí hay un enlace actualizado a la publicación del blog de Jon Skeet: http://codeblog.jonskeet.uk/2010/12/01/the-joys-of-date-time-arithmetic/ – David

+3

<< Ahora solo para hacer claro, no planeo hablar sobre eventos recurrentes, cosas como "el segundo martes y el último miércoles de cada mes" >>. Chicos, ¿leen los enlaces que sugieren? – MatteoSp

3

Aspose.iCalendar, que es parte de su producto Aspose.Network, parece tiene lo que quiere:

//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(); 

Sin embargo, comprar Aspose.Network solo para esa funcionalidad es probablemente exagerado.

+1

guau que es realmente feo. Diseño de API – Guy

+0

Sin mencionar que $ 599 es un poco demasiado si solo quieres recurrencia; es una pena que no lo liberen como un componente independiente. Pero aún así, podría dar ideas sobre cómo (o cómo no) diseñar una API para la recurrencia. –

+3

desafortunado este recurrencepattern "feo" es parte del ical-fileformat – k3b

9

Estoy usando dday-ical at sourceforge para cálculos de recurrencia.

Al lado de carga y saveing ​​y archivos de iCal puede interpretete calendario recurrencerules a la

every 4th friday in every month but not on xmas 

Tenga una mirada en mozilla-calendario (Sunbird) o Microsoft Outlook para ver cómo puede ser compleja fechas de recurrencia.

Actualización:

El proyecto se ha trasladado a https://github.com/rianjs/ical.net y está disponible utilizando Nuget: iCal.Net

+0

Para mí, las ventajas de usar esta biblioteca es que cumple con RFC 5545. Que a su vez es usado por Kendo Control del programador J Aunque el formato de los valores de entrada puede parecer poco amigable al principio. – alehro

+1

He votado positivamente si ha dado un ejemplo de código de cómo llamar a esta biblioteca usando una cadena, por ejemplo, * cada 4 de viernes de cada mes * y obtener esa interpretación? –

4

Tome un vistazo a Itinerary. Hace exactamente esto.

Divulgación: soy el encargado del proyecto.

+0

sin paquete nuget todavía? :) – topwik

+0

, pero ¿entiende el formato ical, como las reglas? – topwik

Cuestiones relacionadas