Jint.Native.JsDateConstructor.ParseDate C# (CSharp) Method

ParseDate() private method

private ParseDate ( string p, IFormatProvider culture, double &result ) : bool
p string
culture IFormatProvider
result double
return bool
        private bool ParseDate(string p, IFormatProvider culture, out double result)
        {
            DateTime d = new DateTime(0, DateTimeKind.Utc); ;
            result = 0;

            if (DateTime.TryParse(p, culture, DateTimeStyles.None, out d)) {
                result = New(d).ToNumber();
                return true;
            }

            if (DateTime.TryParseExact(p, JsDate.FORMAT, culture, DateTimeStyles.None, out d)) {
                result = New(d).ToNumber();
                return true;
            }

            DateTime ld;

            if (DateTime.TryParseExact(p, JsDate.DATEFORMAT, culture, DateTimeStyles.None, out ld)) {
                d = d.AddTicks(ld.Ticks);
            }

            if (DateTime.TryParseExact(p, JsDate.TIMEFORMAT, culture, DateTimeStyles.None, out ld)) {
                d = d.AddTicks(ld.Ticks);
            }

            if (d.Ticks > 0) {
                result = New(d).ToNumber();
                return true;
            }

            return true;
        }