private static DateTime ParseFormattedDate(string input, CultureInfo culture) { var formats = new[] { "u", "s", "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'", "yyyy-MM-ddTHH:mm:ssZ", "yyyy-MM-dd HH:mm:ssZ", "yyyy-MM-ddTHH:mm:ss", "yyyy-MM-ddTHH:mm:sszzzzzz", "M/d/yyyy h:mm:ss tt" // default format for invariant culture }; #if PocketPC foreach (string format in formats) { try { return DateTime.ParseExact(input, format, culture); } catch (Exception) { } } try { return DateTime.Parse(input, culture); } catch (Exception) { } #else DateTime date; if (DateTime.TryParseExact(input, formats, culture, DateTimeStyles.None, out date)) { return date; } if (DateTime.TryParse(input, culture, DateTimeStyles.None, out date)) { return date; } #endif return default(DateTime); }
private static DateTime ParseFormattedDate(string input, CultureInfo culture) { var formats = new[] { "u", "s", "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'", "yyyy-MM-ddTHH:mm:ssZ", "yyyy-MM-dd HH:mm:ssZ", "yyyy-MM-ddTHH:mm:ss", "yyyy-MM-ddTHH:mm:sszzzzzz", "M/d/yyyy h:mm:ss tt" // default format for invariant culture }; DateTime date; if (DateTime.TryParseExact(input, formats, culture, DateTimeStyles.None, out date)) { return date; } return default(DateTime); }