📄 qscriptecmadate.cpp
字号:
QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); if (! qIsNaN(t)) t = msFromTime(t); return QScriptValueImpl(eng, t); } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.getUTCMilliseconds"));}QScriptValueImpl Date::method_getTimezoneOffset(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); if (! qIsNaN(t)) t = (t - LocalTime(t)) / msPerMinute; return QScriptValueImpl(eng, t); } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.getTimezoneOffset"));}QScriptValueImpl Date::method_setTime(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = TimeClip(context->argument(0).toNumber()); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setTime"));}QScriptValueImpl Date::method_setMilliseconds(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = LocalTime(self.internalValue().toNumber()); qsreal ms = context->argument(0).toNumber(); t = TimeClip(UTC(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms)))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setMilliseconds"));}QScriptValueImpl Date::method_setUTCMilliseconds(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); qsreal ms = context->argument(0).toNumber(); t = TimeClip(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setUTCMilliseconds"));}QScriptValueImpl Date::method_setSeconds(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = LocalTime(self.internalValue().toNumber()); qsreal sec = context->argument(0).toNumber(); qsreal ms = (context->argumentCount() < 2) ? msFromTime(t) : context->argument(1).toNumber(); t = TimeClip(UTC(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), sec, ms)))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setSeconds"));}QScriptValueImpl Date::method_setUTCSeconds(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); qsreal sec = context->argument(0).toNumber(); qsreal ms = (context->argumentCount() < 2) ? msFromTime(t) : context->argument(1).toNumber(); t = TimeClip(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), sec, ms))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setUTCSeconds"));}QScriptValueImpl Date::method_setMinutes(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = LocalTime(self.internalValue().toNumber()); qsreal min = context->argument(0).toNumber(); qsreal sec = (context->argumentCount() < 2) ? SecFromTime(t) : context->argument(1).toNumber(); qsreal ms = (context->argumentCount() < 3) ? msFromTime(t) : context->argument(2).toNumber(); t = TimeClip(UTC(MakeDate(Day(t), MakeTime(HourFromTime(t), min, sec, ms)))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setMinutes"));}QScriptValueImpl Date::method_setUTCMinutes(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); qsreal min = context->argument(0).toNumber(); qsreal sec = (context->argumentCount() < 2) ? SecFromTime(t) : context->argument(1).toNumber(); qsreal ms = (context->argumentCount() < 3) ? msFromTime(t) : context->argument(2).toNumber(); t = TimeClip(MakeDate(Day(t), MakeTime(HourFromTime(t), min, sec, ms))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setUTCMinutes"));}QScriptValueImpl Date::method_setHours(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = LocalTime(self.internalValue().toNumber()); qsreal hour = context->argument(0).toNumber(); qsreal min = (context->argumentCount() < 2) ? MinFromTime(t) : context->argument(1).toNumber(); qsreal sec = (context->argumentCount() < 3) ? SecFromTime(t) : context->argument(2).toNumber(); qsreal ms = (context->argumentCount() < 4) ? msFromTime(t) : context->argument(3).toNumber(); t = TimeClip(UTC(MakeDate(Day(t), MakeTime(hour, min, sec, ms)))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setHours"));}QScriptValueImpl Date::method_setUTCHours(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); qsreal hour = context->argument(0).toNumber(); qsreal min = (context->argumentCount() < 2) ? MinFromTime(t) : context->argument(1).toNumber(); qsreal sec = (context->argumentCount() < 3) ? SecFromTime(t) : context->argument(2).toNumber(); qsreal ms = (context->argumentCount() < 4) ? msFromTime(t) : context->argument(3).toNumber(); t = TimeClip(MakeDate(Day(t), MakeTime(hour, min, sec, ms))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setUTCHours"));}QScriptValueImpl Date::method_setDate(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = LocalTime(self.internalValue().toNumber()); qsreal date = context->argument(0).toNumber(); t = TimeClip(UTC(MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), date), TimeWithinDay(t)))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setDate"));}QScriptValueImpl Date::method_setUTCDate(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); qsreal date = context->argument(0).toNumber(); t = TimeClip(MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), date), TimeWithinDay(t))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setUTCDate"));}QScriptValueImpl Date::method_setMonth(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = LocalTime(self.internalValue().toNumber()); qsreal month = context->argument(0).toNumber(); qsreal date = (context->argumentCount() < 2) ? DateFromTime(t) : context->argument(1).toNumber(); t = TimeClip(UTC(MakeDate(MakeDay(YearFromTime(t), month, date), TimeWithinDay(t)))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setMonth"));}QScriptValueImpl Date::method_setUTCMonth(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); qsreal month = context->argument(0).toNumber(); qsreal date = (context->argumentCount() < 2) ? DateFromTime(t) : context->argument(1).toNumber(); t = TimeClip(MakeDate(MakeDay(YearFromTime(t), month, date), TimeWithinDay(t))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setUTCMonth"));}QScriptValueImpl Date::method_setFullYear(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = LocalTime(self.internalValue().toNumber()); qsreal year = context->argument(0).toNumber(); qsreal month = (context->argumentCount() < 2) ? MonthFromTime(t) : context->argument(1).toNumber(); qsreal date = (context->argumentCount() < 3) ? DateFromTime(t) : context->argument(2).toNumber(); t = TimeClip(UTC(MakeDate(MakeDay(year, month, date), TimeWithinDay(t)))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setFullYear"));}QScriptValueImpl Date::method_setUTCFullYear(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); qsreal year = context->argument(0).toNumber(); qsreal month = (context->argumentCount() < 2) ? MonthFromTime(t) : context->argument(1).toNumber(); qsreal date = (context->argumentCount() < 3) ? DateFromTime(t) : context->argument(2).toNumber(); t = TimeClip(MakeDate(MakeDay(year, month, date), TimeWithinDay(t))); QScriptValueImpl r(eng, t); self.setInternalValue(r); return r; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setUTCFullYear"));}QScriptValueImpl Date::method_setYear(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); if (qIsNaN(t)) t = 0; else t = LocalTime(t); qsreal year = context->argument(0).toNumber(); qsreal r; if (qIsNaN(year)) { r = qSNaN(); } else { if ((eng->toInteger(year) >= 0) && (eng->toInteger(year) <= 99)) year += 1900; r = MakeDay(year, MonthFromTime(t), DateFromTime(t)); r = UTC(MakeDate(r, TimeWithinDay(t))); r = TimeClip(r); } QScriptValueImpl v = QScriptValueImpl(eng, r); self.setInternalValue(v); return v; } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.setYear"));}QScriptValueImpl Date::method_toUTCString(QScriptContextPrivate *context, QScriptEnginePrivate *eng, QScriptClassInfo *classInfo){ QScriptValueImpl self = context->thisObject(); if (self.classInfo() == classInfo) { qsreal t = self.internalValue().toNumber(); return QScriptValueImpl(eng, ToUTCString(t)); } return context->throwError(QScriptContext::TypeError, QLatin1String("Date.prototype.toUTCString"));}} } // namespace QScript::Ecma#endif // QT_NO_SCRIPT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -