public static bool TryParseRfc822DateTime(string value, out DateTime result) { //------------------------------------------------------------ // Local members //------------------------------------------------------------ DateTimeFormatInfo dateTimeFormat = CultureInfo.InvariantCulture.DateTimeFormat; string[] formats = new string[3]; //------------------------------------------------------------ // Define valid RFC-822 formats //------------------------------------------------------------ formats[0] = dateTimeFormat.RFC1123Pattern; formats[1] = "ddd',' d MMM yyyy HH:mm:ss zzz"; formats[2] = "ddd',' dd MMM yyyy HH:mm:ss zzz"; //------------------------------------------------------------ // Validate parameter //------------------------------------------------------------ if (String.IsNullOrEmpty(value)) { result = DateTime.MinValue; return(false); } //------------------------------------------------------------ // Perform conversion of RFC-822 formatted date-time string //------------------------------------------------------------ return(DateTime.TryParseExact(SyndicationDateTimeUtility.ReplaceRfc822TimeZoneWithOffset(value), formats, dateTimeFormat, DateTimeStyles.None, out result)); }
public static DateTime ParseRfc3339DateTime(string value) { //------------------------------------------------------------ // Local members //------------------------------------------------------------ DateTime result = DateTime.MinValue; //------------------------------------------------------------ // Validate parameter //------------------------------------------------------------ Guard.ArgumentNotNullOrEmptyString(value, "value"); //------------------------------------------------------------ // Parse RFC-3339 formatted date //------------------------------------------------------------ if (SyndicationDateTimeUtility.TryParseRfc3339DateTime(value, out result)) { return(result); } else { throw new FormatException(String.Format(null, "'{0}' is not a valid RFC-3339 formatted date-time value.", value)); } }