⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dateprototype.cpp

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 CPP
📖 第 1 页 / 共 3 页
字号:
  setUTCMinutes         dateProtoFuncSetUTCMinutes           DontEnum|Function       3  setHours              dateProtoFuncSetHours                DontEnum|Function       4  setUTCHours           dateProtoFuncSetUTCHours             DontEnum|Function       4  setDate               dateProtoFuncSetDate                 DontEnum|Function       1  setUTCDate            dateProtoFuncSetUTCDate              DontEnum|Function       1  setMonth              dateProtoFuncSetMonth                DontEnum|Function       2  setUTCMonth           dateProtoFuncSetUTCMonth             DontEnum|Function       2  setFullYear           dateProtoFuncSetFullYear             DontEnum|Function       3  setUTCFullYear        dateProtoFuncSetUTCFullYear          DontEnum|Function       3  setYear               dateProtoFuncSetYear                 DontEnum|Function       1  getYear               dateProtoFuncGetYear                 DontEnum|Function       0@end*/// ECMA 15.9.4DatePrototype::DatePrototype(ExecState* exec, PassRefPtr<Structure> structure)    : DateInstance(structure){    setInternalValue(jsNaN(exec));    // The constructor will be added later, after DateConstructor has been built.}bool DatePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot){    return getStaticFunctionSlot<JSObject>(exec, ExecState::dateTable(exec), this, propertyName, slot);}// FunctionsJSValuePtr dateProtoFuncToString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNontrivialString(exec, formatDate(t) + " " + formatTime(t, utc));}JSValuePtr dateProtoFuncToUTCString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = true;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNontrivialString(exec, formatDateUTCVariant(t) + " " + formatTime(t, utc));}JSValuePtr dateProtoFuncToDateString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNontrivialString(exec, formatDate(t));}JSValuePtr dateProtoFuncToTimeString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNontrivialString(exec, formatTime(t, utc));}JSValuePtr dateProtoFuncToLocaleString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    return formatLocaleDate(exec, thisDateObj, milli, LocaleDateAndTime, args);}JSValuePtr dateProtoFuncToLocaleDateString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    return formatLocaleDate(exec, thisDateObj, milli, LocaleDate, args);}JSValuePtr dateProtoFuncToLocaleTimeString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    return formatLocaleDate(exec, thisDateObj, milli, LocaleTime, args);}JSValuePtr dateProtoFuncGetTime(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    return jsNumber(exec, milli);}JSValuePtr dateProtoFuncGetFullYear(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, 1900 + t.year);}JSValuePtr dateProtoFuncGetUTCFullYear(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = true;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, 1900 + t.year);}JSValuePtr dateProtoFuncToGMTString(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = true;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNontrivialString(exec, "Invalid Date");    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNontrivialString(exec, formatDateUTCVariant(t) + " " + formatTime(t, utc));}JSValuePtr dateProtoFuncGetMonth(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.month);}JSValuePtr dateProtoFuncGetUTCMonth(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = true;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.month);}JSValuePtr dateProtoFuncGetDate(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.monthDay);}JSValuePtr dateProtoFuncGetUTCDate(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = true;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.monthDay);}JSValuePtr dateProtoFuncGetDay(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.weekDay);}JSValuePtr dateProtoFuncGetUTCDay(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = true;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.weekDay);}JSValuePtr dateProtoFuncGetHours(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = false;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.hour);}JSValuePtr dateProtoFuncGetUTCHours(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);    const bool utc = true;    DateInstance* thisDateObj = asDateInstance(thisValue);     double milli = thisDateObj->internalNumber();    if (isnan(milli))        return jsNaN(exec);    GregorianDateTime t;    thisDateObj->msToGregorianDateTime(milli, utc, t);    return jsNumber(exec, t.hour);}JSValuePtr dateProtoFuncGetMinutes(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList&){    if (!thisValue.isObject(&DateInstance::info))        return throwError(exec, TypeError);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -