A parser for relative dates (eventually times), such as "tomorrow", "yesterday", "three weeks ago" and "fourth monday in june". Created using TDD, feel free to suggest new tests! Makes use of and extends http://www.codeplex.com/DateTimeExtensions . The engine, being written from TDD, is heavily dependent on it's tests. If you modify any code, run the unit tests to make sure you haven't broken existing functionality. I'm using VSTS for the framework. The basic design ended up being a pre-processor, which changes the string to be parsed, and the parser, which actually recognizes dates. There is a recursive element in the parser as well.