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;
}