public static DateTime ParseDate(String date, DateTime defaultDate, DefaultTimeOfDay defaultTime = DefaultTimeOfDay.BeginOfDay) { DateTime parsedDate; DateTime result; if (DateTime.TryParse(date, out parsedDate)) { result = parsedDate; } else { result = defaultDate; } return(SetTimeOfDay(result, defaultTime).Value); }
private static DateTime?SetTimeOfDay(DateTime?date, DefaultTimeOfDay defaultTime) { if (date.HasValue) { switch (defaultTime) { case DefaultTimeOfDay.None: return(date); case DefaultTimeOfDay.BeginOfDay: return(date.Value.Date); case DefaultTimeOfDay.EndOfDay: return(date.Value.Date.AddDays(1).AddSeconds(-1)); default: return(date); } } else { return(date); } }
public static DateTime?ParseDateNullable(String date, DateTime?defaultDate = null, DefaultTimeOfDay defaultTime = DefaultTimeOfDay.BeginOfDay) { DateTime parsedDate; DateTime?result; if (DateTime.TryParse(date, out parsedDate)) { result = parsedDate; } else { result = defaultDate; } return(SetTimeOfDay(result, defaultTime)); }