private static String ConstructFullDetailFormatString(DateTime dateTime) { switch (dateTime.Kind) { case DateTimeKind.Utc: return(FullDetailDateTimeFormatTemplate.ApplyFormat(DateTimeZoneUtcFormat)); case DateTimeKind.Local: return(FullDetailDateTimeFormatTemplate.ApplyFormat(DateTimeZoneLocalFormat)); case DateTimeKind.Unspecified: return(FullDetailDateTimeFormatTemplate.ApplyFormat(String.Empty)); default: throw new ArgumentException($"{dateTime.Kind} is not a supported {nameof(DateTimeKind)}.", nameof(dateTime)); } }
internal static Boolean TryParseFullDetailDateTimeString(String dateTimeString, IFormatProvider formatProvider, out DateTime result) { var dateTimeStringFormat = dateTimeString.Contains(DateTimeZoneUtcFormat) ? FullDetailDateTimeFormatTemplate.ApplyFormat(DateTimeZoneUtcFormat) : FullDetailDateTimeFormatTemplate.ApplyFormat(DateTimeZoneLocalFormat); return(DateTime.TryParseExact(dateTimeString, dateTimeStringFormat, formatProvider, (DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.RoundtripKind), out result)); }