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

CreateDateTime() static private method

static private CreateDateTime ( double number ) : System.DateTime
number double
return System.DateTime
        internal static DateTime CreateDateTime(double number)
        {
            return new DateTime((long)(number * JsDate.TICKSFACTOR + JsDate.OFFSET_1970), DateTimeKind.Utc);
        }

Usage Example

示例#1
0
        /// <summary>
        /// Converts a JsInstance object to its CLR equivalence
        /// </summary>
        /// <param name="parameter">The object to convert</param>
        /// <returns>A CLR object</returns>
        public static object ConvertParameter(JsInstance parameter)
        {
            if (parameter == null)
            {
                return(null);
            }

            if (parameter.Class != JsFunction.TYPEOF && parameter.Class != JsArray.TYPEOF)
            {
                return(parameter.Value);
            }

            if (parameter == JsNull.Instance)
            {
                return(null);
            }

            if (parameter.IsClr)
            {
                return(parameter.Value);
            }

            var constructor = ((JsDictionaryObject)parameter)["constructor"] as JsFunction;

            if (constructor == null)
            {
                return(parameter);
            }
            switch (constructor.Name)
            {
            case "Date":
                return(JsDateConstructor.CreateDateTime(parameter.ToNumber()));

            case "String":
            case "RegExp":
            case "Number":
                return(parameter.Value);

            case "Array":
            case "Object":
                if (parameter.Class == JsFunction.TYPEOF)
                {
                    return(parameter);
                }
                var array = new object[((JsObject)parameter).Length];
                foreach (KeyValuePair <string, JsInstance> key in (JsObject)parameter)
                {
                    int index;
                    if (int.TryParse(key.Key, out index))
                    {
                        array[index] = ConvertParameters(key.Value)[0];
                    }
                }
                return(new System.Collections.ArrayList(array));

            default:
                return(parameter);
            }
        }
All Usage Examples Of Jint.Native.JsDateConstructor::CreateDateTime