JS4D::ObjectRef JS4D::VTimeToObject( ContextRef inContext, const VTime& inTime, ExceptionRef *outException) { if (inTime.IsNull()) return NULL; // can't return JSValueMakeNull as an object sWORD year, month, day, hour, minute, second, millisecond; inTime.GetLocalTime( year, month, day, hour, minute, second, millisecond); JSValueRef args[6]; args[0] = JSValueMakeNumber( inContext, year); args[1] = JSValueMakeNumber( inContext, month-1); args[2] = JSValueMakeNumber( inContext, day); args[3] = JSValueMakeNumber( inContext, hour); args[4] = JSValueMakeNumber( inContext, minute); args[5] = JSValueMakeNumber( inContext, second); #if NEW_WEBKIT JSObjectRef date = JSObjectMakeDate( inContext, 6, args, outException); #else JSStringRef jsClassName = JSStringCreateWithUTF8CString("Date"); JSObjectRef constructor = JSValueToObject( inContext, JSObjectGetProperty( inContext, JSContextGetGlobalObject( inContext), jsClassName, NULL), NULL); JSStringRelease( jsClassName); JSObjectRef date = JSObjectCallAsConstructor( inContext, constructor, 6, args, outException); #endif return date; }
void VJSONValue::SetTime(const VTime& inTime) { _Dispose(); if (inTime.IsNull()) fType = JSON_null; else { fType = JSON_date; fTimeStamp = inTime.GetMilliseconds(); } }
VJSONValue::VJSONValue(const VTime& inTime) : fType(inTime.IsNull() ? JSON_null : JSON_date) { if (fType == JSON_date) fTimeStamp = inTime.GetMilliseconds(); }