Пример #1
0
        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);
        }
Пример #2
0
        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);
        }