Exemple #1
0
        private bool TryParseDateTime(string text, out DateTime result)
        {
            bool isValid = false;

            result = this.ContextNow;

            DateTime current = this.ContextNow;

            if (this.Value.HasValue)
            {
                current = this.Value.Value;
            }
            else
            {
                try
                {
                    current = DateTime.Parse(this.ContextNow.ToString(), this.CultureInfo.DateTimeFormat);
                    isValid = DateTimeParser.TryParse(text, this.GetFormatString(Format), current, this.CultureInfo, out result);
                }
                catch (FormatException)
                {
                    isValid = false;
                }
            }

            if (!isValid)
            {
                isValid = DateTime.TryParseExact(text, this.GetFormatString(this.Format), this.CultureInfo, DateTimeStyles.None, out result);
            }

            if (!isValid)
            {
                result = (_lastValidDate != null) ? _lastValidDate.Value : current;
            }

            return(isValid);
        }