示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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));
        }