Microsoft.Legal.MatterCenter.Utility.MailMimeReader.ConvertToDateTime C# (CSharp) Метод

ConvertToDateTime() публичный Метод

Tries to convert string to date If there is a run time error, the smallest possible date is returned
public ConvertToDateTime ( string date ) : System.DateTime
date string string to be converted to Date object
Результат System.DateTime
        public DateTime ConvertToDateTime(string date)
        {
            DateTime returnDateTime = DateTime.MinValue;
            DateTime result = DateTime.MinValue;
            try
            {
                if (!string.IsNullOrEmpty(date))
                {
                    ////remove day of week
                    string cleanDateTime = date;
                    string[] dateSplit = cleanDateTime.Split(commaChars, 2);
                    if (1 < dateSplit.Length)
                    {
                        cleanDateTime = dateSplit[1];
                    }

                    ////remove time zone (PST)
                    dateSplit = cleanDateTime.Split(bracketChars);
                    if (1 < dateSplit.Length)
                    {
                        cleanDateTime = dateSplit[0];
                    }

                    ////convert to DateTime
                    if (!DateTime.TryParse(
                      cleanDateTime,
                      this.culture,
                      DateTimeStyles.AdjustToUniversal | DateTimeStyles.AllowWhiteSpaces,
                      out returnDateTime))
                    {
                        ////try just to convert the date
                        int dateLength = cleanDateTime.IndexOf(ServiceConstants.COLON, StringComparison.CurrentCulture) - 3;
                        cleanDateTime = cleanDateTime.Substring(0, dateLength);

                        if (DateTime.TryParse(
                          cleanDateTime,
                          this.culture,
                          DateTimeStyles.AdjustToUniversal | DateTimeStyles.AllowWhiteSpaces,
                          out returnDateTime))
                        {
                            result = returnDateTime;
                        }
                        else
                        {
                            result = DateTime.MinValue;
                        }
                    }
                    else
                    {
                        result = returnDateTime;
                    }
                }
            }
            catch (ArgumentNullException)
            {
                result = DateTime.MinValue;
            }
            catch
            {
                result = DateTime.MinValue;
            }

            return result;
        }