I haven't been able to find anything by googling... Does anyone know of any libraries that will split up date ranges? We've got a project where "Date Of Attendance" is moving from a single type in character field to an automatically built field based on a DateBegin date field and a DateEnd date field. Some examples of what I'd like ideally... Given: July 19-22, 2009 Return: 7/19/2009 and 7/22/2009 Given: July 19th and 20th Return: 7/19/2009 and 7/20/2009 (we can safely assume current year for this project) Given: Sept 19, 2009 - Sept 22, 2009 Return: 9/19/2009 and 9/22/2009 Given: July 19th, 2009 Return: 7/19/2009 and 7/19/2009 Given: 7/19/2009 Return: 7/19/2009 and 7/19/2009 I could probably hack something together that would work most of the time... but why reinvent the wheel if some poor shlub has already done it. If such a thing doesn't exist... then I'm considering an algorithm like such... (and advice... yays and nays are appreciated) Replace the names (and variations thereof) of the months with their numeric equivilants followed by a comma. So the above would become... 7, 19-22, 2009 7, 19th and 20th 9, 19, 2009 - 9, 22, 2009 7, 19th, 2009 7/19/2009 Then replace all the th and nd and st with nothing... replace all the ands with a dash... and eliminate spaces... and change / to , Giving... 7,19-22,2009 7,19-20 9,19,2009-9,22,2009 7,19,2009 7,19,2009 Then explode on commas. If you have two elements populate the third with the current year. (This "fixes" 7,19-20 to 7,19-20,2009). Not a given example, but it would also fix 7/19 to 7,19,2009. When you have three elements then you have a "valid" date. Loop over each element and populate begin and end, if you find a dash in the current element then split on the dash and populate as needed. Yes this would allow 7-8,19-20,2009 to create 7/19/2009 and 8/20/2009 but I think its as safe as any assumption that "regular people" wouldn't enter that as a date range. If you have more than three elements then split on the dash and as long as you have have only two elements then consider each item by itself. If it's not handled by the above rules then don't split it up. Thanks in advance. Matt -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php