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