/// <summary> /// Converts a string to a DateTime object /// </summary> /// <param name="value"></param> /// <param name="delimiter">The delimiter of the date string. Eg: '-', '/' etc </param> /// <param name="dateFormat">The format of the date string.</param> /// <returns></returns> public static DateTime ToDateTime(this string value, DateFormat dateFormat = DateFormat.YYYYMMDD, char delimiter = '-') { if (value != null && value.Length >= 8) { int[] splitDate; switch (dateFormat) { case DateFormat.YYYYMMDD: var splitString = value.Split(new[] { delimiter }, StringSplitOptions.RemoveEmptyEntries); splitDate = splitString.ToIntArray(); return(new DateTime(splitDate[0], splitDate[1], splitDate[2])); case DateFormat.MMMDDYYYY: var dateSplit = value.Replace(",", string.Empty).Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); return(new DateTime(int.Parse(dateSplit[2]), BetterDate.GetNumberOfShortMonth(dateSplit[0]), int.Parse(dateSplit[1]))); default: return(new DateTime()); } } return(DateTime.Now); }
/// <summary> /// Gets the time in a format like Jan 12, 2017 /// </summary> /// <param name="time"></param> /// <returns></returns> public static string ToPrettyDate(this DateTime time) => $"{BetterDate.GetNameOfMonth(time.Month).Substring(0, 3)} {time.Day}, {time.Year}";