Attempt to parse a date string:
NaturalDate date;
if (! NaturalDate.TryParse("January 1, 2009, 10-11PM", out date))
{
Console.WriteLine(date.ErrorString);
}
Enumerate a recurring date:
foreach (NaturalDate d in NaturalDate.Enumerate("Every Friday", "January 1, 2009"))
{
Console.WriteLine(d);
}
Find the next occurrence of a recurring date:
Console.WriteLine(NaturalDate.Next("Every Friday at 7PM", "January 1, 2009"));
Using Linq, this example walks the week ahead, starting with today, and finds all events that overlap each day. It assumes EventList is an list of objects containing a 'When' property which is a NaturalDate.
foreach (var day in NaturalDate.Enumerate("everyday", "today").Take(7))
{
var daysEvents = from e in EventList where e.When.Overlaps(day)
orderby e.When.Next(day) select e;
...
}
Anonymous