public static void TestDateTime() { TestDateParsing(DateTime.Today.ToString()); TestDateParsing("16/08/2005"); TestDateParsing("01-08-2005"); TestDateParsing("25 December 2005"); TestDateParsing(""); TestDateParsing("YES"); /* Test with: '18/08/2005 00:00:00' '18/08/2005' Difference in days from today: 0 Test with: '16/08/2005' '16/08/2005' Difference in days from today: 2 Date is WITHIN the last '21' days Test with: '01-08-2005' '01/08/2005' Difference in days from today: 17 Date is WITHIN the last '21' days Test with: '25 December 2005' '25/12/2005' Difference in days from today: -128 Test with: '' Exception caught: 'String was not recognized as a valid DateTime.'To parse the string "Mon, 08 Apr 2013 09:56:56 +0100" had to use the parse format "ddd, dd MMM yyyy HH':'mm':'ss K"
setting dat e to Minimum Value '01/01/0001' Difference in days from today: 732175 Test with: 'YES' Exception caught: 'The string was not recognized as a valid
DateTime. There i s a unknown word starting at index 0.' setting date to Minimum
Value '01/01/0001' Difference in days from today: 732175 */ } public static void TestDateParsing(string str) { DateTime date; try { WL(string.Concat("Test with: \'", str, "\'")); date = DateTime.Parse(str); } catch (Exception ex) { WL(string.Concat(" Exception caught: \'",ex.Message, "\'
setting date to Minimum Value")); date = DateTime.MinValue; } WL(string.Concat(" \'", date.ToString("dd/MM/yyyy"), "\'")); TimeSpan time = DateTime.Now.Subtract(date); WL(string.Concat(" Difference in days from today: ",time.Days)); const int DAYLIMIT = 21; if ((time.Days <= DAYLIMIT) && (time.Days > 0)) { WL(string.Concat(" Date is WITHIN the last \'", DAYLIMIT,
"\' days")); } }
Like so:
string form = @"ddd, dd MMM yyyy HH':'mm':'ss K"; DateTime.TryParseExact(pubDateNode.Value, form, System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.AssumeLocal, out when);
No comments:
Post a Comment