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