Name Description Size
15.9.1.15-1.js --- esid: sec-date-time-string-format description: > Date Time String Format - specified default values will be set for all optional fields(MM, DD, mm, ss and time zone) when they are absent --- 591
browser.js 0
coercion-errors.js --- esid: sec-date-year-month-date-hours-minutes-seconds-ms description: Abrupt completions from coercing input values info: | 3. If NewTarget is not undefined, then a. Let y be ? ToNumber(year). b. Let m be ? ToNumber(month). c. If date is supplied, let dt be ? ToNumber(date); else let dt be 1. d. If hours is supplied, let h be ? ToNumber(hours); else let h be 0. e. If minutes is supplied, let min be ? ToNumber(minutes); else let min be 0. f. If seconds is supplied, let s be ? ToNumber(seconds); else let s be 0. g. If ms is supplied, let milli be ? ToNumber(ms); else let milli be 0. h. If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, let yr be 1900+ToInteger(y); otherwise, let yr be y. i. Let finalDate be MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli)). j. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »). k. Set O.[[DateValue]] to TimeClip(UTC(finalDate)). l. Return O. --- 2440
coercion-order.js --- esid: sec-date-year-month-date-hours-minutes-seconds-ms description: Order of input coercion info: | 3. If NewTarget is not undefined, then a. Let y be ? ToNumber(year). b. Let m be ? ToNumber(month). c. If date is supplied, let dt be ? ToNumber(date); else let dt be 1. d. If hours is supplied, let h be ? ToNumber(hours); else let h be 0. e. If minutes is supplied, let min be ? ToNumber(minutes); else let min be 0. f. If seconds is supplied, let s be ? ToNumber(seconds); else let s be 0. g. If ms is supplied, let milli be ? ToNumber(ms); else let milli be 0. h. If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, let yr be 1900+ToInteger(y); otherwise, let yr be y. i. Let finalDate be MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli)). j. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »). k. Set O.[[DateValue]] to TimeClip(UTC(finalDate)). l. Return O. --- 1745
construct_with_date.js --- esid: sec-date-value description: Date constructor called with Date object info: | 20.3.2.2 Date ( value ) ... 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then i. Let tv be thisTimeValue(value). es6id: 20.3.2.2 --- 807
is-a-constructor.js --- esid: sec-ecmascript-standard-built-in-objects description: > The Date constructor implements [[Construct]] info: | IsConstructor ( argument ) The abstract operation IsConstructor takes argument argument (an ECMAScript language value). It determines if argument is a function object with a [[Construct]] internal method. It performs the following steps when called: If Type(argument) is not Object, return false. If argument has a [[Construct]] internal method, return true. Return false. includes: [isConstructor.js] features: [Reflect.construct] --- 831
name.js --- esid: sec-date-constructor description: Constructor "name" property descriptor info: | 17 ECMAScript Standard Built-in Objects: Every built-in Function object, including constructors, that is not identified as an anonymous function has a name property whose value is a String. Unless otherwise specified, the name property of a built-in Function object, if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] --- 791
now
parse
prop-desc.js --- esid: sec-constructor-properties-of-the-global-object-date description: Property descriptor for Date info: | Every other data property described in clauses 18 through 26 and in Annex B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] --- 597
proto-from-ctor-realm-one.js --- esid: sec-date-value description: Default [[Prototype]] value derived from realm of the newTarget info: | [...] 3. If NewTarget is not undefined, then [...] c. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »). [...] 9.1.14 GetPrototypeFromConstructor [...] 3. Let proto be ? Get(constructor, "prototype"). 4. If Type(proto) is not Object, then a. Let realm be ? GetFunctionRealm(constructor). b. Let proto be realm's intrinsic object named intrinsicDefaultProto. [...] features: [cross-realm, Reflect] --- 988
proto-from-ctor-realm-two.js --- esid: sec-date-year-month-date-hours-minutes-seconds-ms description: Default [[Prototype]] value derived from realm of the newTarget info: | [...] 3. If NewTarget is not undefined, then [...] j. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »). [...] 9.1.14 GetPrototypeFromConstructor [...] 3. Let proto be ? Get(constructor, "prototype"). 4. If Type(proto) is not Object, then a. Let realm be ? GetFunctionRealm(constructor). b. Let proto be realm's intrinsic object named intrinsicDefaultProto. [...] features: [cross-realm, Reflect] --- 1029
proto-from-ctor-realm-zero.js --- esid: sec-date-constructor-date description: Default [[Prototype]] value derived from realm of the newTarget info: | [...] 3. If NewTarget is not undefined, then a. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »). [...] 9.1.14 GetPrototypeFromConstructor [...] 3. Let proto be ? Get(constructor, "prototype"). 4. If Type(proto) is not Object, then a. Let realm be ? GetFunctionRealm(constructor). b. Let proto be realm's intrinsic object named intrinsicDefaultProto. [...] features: [cross-realm, Reflect] --- 986
prototype
S15.9.2.1_A1.js --- esid: sec-date-year-month-date-hours-minutes-seconds-ms info: | When Date is called as a function rather than as a constructor, it should be "string" representing the current time (UTC) es5id: 15.9.2.1_A1 description: Checking type of returned value --- 2279
S15.9.2.1_A2.js --- esid: sec-date-year-month-date-hours-minutes-seconds-ms info: | All of the arguments are optional, any arguments supplied are accepted but are completely ignored. A string is created and returned as if by the expression (new Date()).toString() es5id: 15.9.2.1_A2 description: Use various number arguments and various types of ones --- 2688
S15.9.3.1_A1_T1.js --- info: | When Date is called as part of a new expression it is a constructor: it initializes the newly created object esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 2 arguments, (year, month) --- 6418
S15.9.3.1_A1_T2.js --- info: | When Date is called as part of a new expression it is a constructor: it initializes the newly created object esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 3 arguments, (year, month, date) --- 6664
S15.9.3.1_A1_T3.js --- info: | When Date is called as part of a new expression it is a constructor: it initializes the newly created object esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 4 arguments, (year, month, date, hours) --- 6974
S15.9.3.1_A1_T4.js --- info: | When Date is called as part of a new expression it is a constructor: it initializes the newly created object esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 5 arguments, (year, month, date, hours, minutes) --- 7255
S15.9.3.1_A1_T5.js --- info: | When Date is called as part of a new expression it is a constructor: it initializes the newly created object esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 6 arguments, (year, month, date, hours, minutes, seconds) --- 7504
S15.9.3.1_A1_T6.js --- info: | When Date is called as part of a new expression it is a constructor: it initializes the newly created object esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 7 arguments, (year, month, date, hours, minutes, seconds, ms) --- 7772
S15.9.3.1_A2_T1.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original Date prototype object, the one that is the initial value of Date.prototype esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 2 arguments, (year, month) --- 6455
S15.9.3.1_A2_T2.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original Date prototype object, the one that is the initial value of Date.prototype esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 3 arguments, (year, month, date) --- 6581
S15.9.3.1_A2_T3.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original Date prototype object, the one that is the initial value of Date.prototype esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 4 arguments, (year, month, date, hours) --- 6708
S15.9.3.1_A2_T4.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original Date prototype object, the one that is the initial value of Date.prototype esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 5 arguments, (year, month, date, hours, minutes) --- 6837
S15.9.3.1_A2_T5.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original Date prototype object, the one that is the initial value of Date.prototype esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 6 arguments, (year, month, date, hours, minutes, seconds) --- 6966
S15.9.3.1_A2_T6.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original Date prototype object, the one that is the initial value of Date.prototype esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 7 arguments, (year, month, date, hours, minutes, seconds, ms) --- 7102
S15.9.3.1_A3_T1.1.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on delete prototype.toString - 2 arguments, (year, month) --- 2705
S15.9.3.1_A3_T1.2.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on overwriting prototype.toString - 2 arguments, (year, month) --- 1967
S15.9.3.1_A3_T2.1.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on delete prototype.toString - 3 arguments, (year, month, date) --- 2791
S15.9.3.1_A3_T2.2.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on overwriting prototype.toString - 3 arguments, (year, month, date) --- 2013
S15.9.3.1_A3_T3.1.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on delete prototype.toString - 4 arguments, (year, month, date, hours) --- 2878
S15.9.3.1_A3_T3.2.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on overwriting prototype.toString - 4 arguments, (year, month, date, hours) --- 2060
S15.9.3.1_A3_T4.1.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on delete prototype.toString - 5 arguments, (year, month, date, hours, minutes) --- 2967
S15.9.3.1_A3_T4.2.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on overwriting prototype.toString - 5 arguments, (year, month, date, hours, minutes) --- 2109
S15.9.3.1_A3_T5.1.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 6 arguments, (year, month, date, hours, minutes, seconds) --- 3004
S15.9.3.1_A3_T5.2.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on overwriting prototype.toString - 6 arguments, (year, month, date, hours, minutes, seconds) --- 2158
S15.9.3.1_A3_T6.1.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 7 arguments, (year, month, date, hours, minutes, seconds, ms) --- 3096
S15.9.3.1_A3_T6.2.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-year-month-date-hours-minutes-seconds-ms description: > Test based on overwriting prototype.toString - 7 arguments, (year, month, date, hours, minutes, seconds, ms) --- 2206
S15.9.3.1_A4_T0.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 1. Call ToNumber(year) 2. Call ToNumber(month) 3. If date is supplied use ToNumber(date) 4. If hours is supplied use ToNumber(hours) 5. If minutes is supplied use ToNumber(minutes) 6. If seconds is supplied use ToNumber(seconds) 7. If ms is supplied use ToNumber(ms) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 1 argument (year) --- 947
S15.9.3.1_A4_T1.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 1. Call ToNumber(year) 2. Call ToNumber(month) 3. If date is supplied use ToNumber(date) 4. If hours is supplied use ToNumber(hours) 5. If minutes is supplied use ToNumber(minutes) 6. If seconds is supplied use ToNumber(seconds) 7. If ms is supplied use ToNumber(ms) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 2 arguments, (year, month) --- 1157
S15.9.3.1_A4_T2.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 1. Call ToNumber(year) 2. Call ToNumber(month) 3. If date is supplied use ToNumber(date) 4. If hours is supplied use ToNumber(hours) 5. If minutes is supplied use ToNumber(minutes) 6. If seconds is supplied use ToNumber(seconds) 7. If ms is supplied use ToNumber(ms) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 3 arguments, (year, month, date) --- 1418
S15.9.3.1_A4_T3.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 1. Call ToNumber(year) 2. Call ToNumber(month) 3. If date is supplied use ToNumber(date) 4. If hours is supplied use ToNumber(hours) 5. If minutes is supplied use ToNumber(minutes) 6. If seconds is supplied use ToNumber(seconds) 7. If ms is supplied use ToNumber(ms) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 4 arguments, (year, month, date, hours) --- 1734
S15.9.3.1_A4_T4.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 1. Call ToNumber(year) 2. Call ToNumber(month) 3. If date is supplied use ToNumber(date) 4. If hours is supplied use ToNumber(hours) 5. If minutes is supplied use ToNumber(minutes) 6. If seconds is supplied use ToNumber(seconds) 7. If ms is supplied use ToNumber(ms) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 5 arguments, (year, month, date, hours, minutes) --- 2106
S15.9.3.1_A4_T5.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 1. Call ToNumber(year) 2. Call ToNumber(month) 3. If date is supplied use ToNumber(date) 4. If hours is supplied use ToNumber(hours) 5. If minutes is supplied use ToNumber(minutes) 6. If seconds is supplied use ToNumber(seconds) 7. If ms is supplied use ToNumber(ms) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 6 arguments, (year, month, date, hours, minutes, seconds) --- 2532
S15.9.3.1_A4_T6.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 1. Call ToNumber(year) 2. Call ToNumber(month) 3. If date is supplied use ToNumber(date) 4. If hours is supplied use ToNumber(hours) 5. If minutes is supplied use ToNumber(minutes) 6. If seconds is supplied use ToNumber(seconds) 7. If ms is supplied use ToNumber(ms) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 7 arguments, (year, month, date, hours, minutes, seconds, ms) --- 3007
S15.9.3.1_A5_T1.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1) 9. Compute MakeDay(Result(8), Result(2), Result(3)) 10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7)) 11. Compute MakeDate(Result(9), Result(10)) 12. Set the [[Value]] property of the newly constructed object to TimeClip(UTC(Result(11))) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 2 arguments, (year, month) includes: [assertRelativeDateMs.js] --- 1481
S15.9.3.1_A5_T2.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1) 9. Compute MakeDay(Result(8), Result(2), Result(3)) 10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7)) 11. Compute MakeDate(Result(9), Result(10)) 12. Set the [[Value]] property of the newly constructed object to TimeClip(UTC(Result(11))) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 3 arguments, (year, month, date) includes: [assertRelativeDateMs.js] --- 1525
S15.9.3.1_A5_T3.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1) 9. Compute MakeDay(Result(8), Result(2), Result(3)) 10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7)) 11. Compute MakeDate(Result(9), Result(10)) 12. Set the [[Value]] property of the newly constructed object to TimeClip(UTC(Result(11))) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 4 arguments, (year, month, date, hours) includes: [assertRelativeDateMs.js] --- 1571
S15.9.3.1_A5_T4.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1) 9. Compute MakeDay(Result(8), Result(2), Result(3)) 10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7)) 11. Compute MakeDate(Result(9), Result(10)) 12. Set the [[Value]] property of the newly constructed object to TimeClip(UTC(Result(11))) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 5 arguments, (year, month, date, hours, minutes) includes: [assertRelativeDateMs.js] --- 1618
S15.9.3.1_A5_T5.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1) 9. Compute MakeDay(Result(8), Result(2), Result(3)) 10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7)) 11. Compute MakeDate(Result(9), Result(10)) 12. Set the [[Value]] property of the newly constructed object to TimeClip(UTC(Result(11))) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 6 arguments, (year, month, date, hours, minutes, seconds) includes: [assertRelativeDateMs.js] --- 1666
S15.9.3.1_A5_T6.js --- info: | The [[Value]] property of the newly constructed object is set by following steps: 8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is 1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1) 9. Compute MakeDay(Result(8), Result(2), Result(3)) 10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7)) 11. Compute MakeDate(Result(9), Result(10)) 12. Set the [[Value]] property of the newly constructed object to TimeClip(UTC(Result(11))) esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 7 arguments, (year, month, date, hours, minutes, seconds, ms) includes: [assertRelativeDateMs.js] --- 1711
S15.9.3.1_A6_T1.js --- info: | The [[Value]] property of the newly constructed object with supplied "undefined" argument should be NaN esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 2 arguments, (year, month) --- 1675
S15.9.3.1_A6_T2.js --- info: | The [[Value]] property of the newly constructed object with supplied "undefined" argument should be NaN esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 3 arguments, (year, month, date) --- 1721
S15.9.3.1_A6_T3.js --- info: | The [[Value]] property of the newly constructed object with supplied "undefined" argument should be NaN esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 4 arguments, (year, month, date, hours) --- 1768
S15.9.3.1_A6_T4.js --- info: | The [[Value]] property of the newly constructed object with supplied "undefined" argument should be NaN esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 5 arguments, (year, month, date, hours, minutes) --- 1817
S15.9.3.1_A6_T5.js --- info: | The [[Value]] property of the newly constructed object with supplied "undefined" argument should be NaN esid: sec-date-year-month-date-hours-minutes-seconds-ms description: 6 arguments, (year, month, date, hours, minutes, seconds) --- 1866
S15.9.3.2_A1_T1.js --- info: | When Date is called as part of a new expression it is a constructor: it initialises the newly created object esid: sec-date-value description: Checking types of newly created objects and it values includes: [dateConstants.js] --- 4752
S15.9.3.2_A2_T1.js --- info: | The [[Prototype]] property of the newly constructed object is set to the original Date prototype object, the one that is the initial value of Date.prototype esid: sec-date-value description: Checking Date.prototype property of newly constructed objects includes: [dateConstants.js] --- 4613
S15.9.3.2_A3_T1.1.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-value description: Test based on delete prototype.toString includes: [dateConstants.js] --- 1990
S15.9.3.2_A3_T1.2.js --- info: | The [[Class]] property of the newly constructed object is set to "Date" esid: sec-date-value description: Test based on overwriting prototype.toString includes: [dateConstants.js] --- 1465
S15.9.4_A1.js --- info: The Date constructor has the property "prototype" esid: sec-date-constructor description: Checking existence of the property "prototype" --- 405
S15.9.4_A2.js --- info: The Date constructor has the property "parse" esid: sec-date-constructor description: Checking existence of the property "parse" --- 389
S15.9.4_A3.js --- info: The Date constructor has the property "UTC" esid: sec-date-constructor description: Checking existence of the property "UTC" --- 381
S15.9.4_A4.js --- info: | The value of the internal [[Prototype]] property of the Date constructor is the Function prototype object esid: sec-date-constructor description: Checking Function.prototype.isPrototypeOf(Date) --- 484
S15.9.4_A5.js --- info: Date constructor has length property whose value is 7 esid: sec-date-constructor description: Checking Date.length property --- 468
shell.js --- description: | Verify that the given date object's Number representation describes the correct number of milliseconds since the Unix epoch relative to the local time zone (as interpreted at the specified date). defines: [assertRelativeDateMs] --- 2163
subclassing.js --- esid: sec-date-value description: Error retrieving `Symbol.toPrimitive` method from object value info: | 3. If NewTarget is not undefined, then [...] c. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »). [...] OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] ) [...] 2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto). 3. Return ObjectCreate(proto, internalSlotsList). features: [Reflect] --- 1508
TimeClip_negative_zero.js --- esid: sec-timeclip description: TimeClip converts negative zero to positive zero info: | 20.3.1.15 TimeClip (time) ... 3. Return ToInteger(time) + (+0). (Adding a positive zero converts -0 to +0.) es6id: 20.3.1.15 --- 493
UTC
value-get-symbol-to-prim-err.js --- esid: sec-date-value description: > Behavior when error thrown while accessing `Symbol.toPrimitive` property info: | [...] 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then [...] b. Else, i. Let v be ? ToPrimitive(value). ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] ) [...] 4. Let exoticToPrim be GetMethod(input, @@toPrimitive). 5. ReturnIfAbrupt(exoticToPrim). features: [Symbol.toPrimitive] --- 881
value-symbol-to-prim-err.js --- esid: sec-date-value description: > Behavior when error thrown by invocation of `Symbol.toPrimitive` method during coercion info: | [...] 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then [...] b. Else, i. Let v be ? ToPrimitive(value). ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] ) [...] 4. Let exoticToPrim be GetMethod(input, @@toPrimitive). 5. ReturnIfAbrupt(exoticToPrim). 6. If exoticToPrim is not undefined, then a. Let result be Call(exoticToPrim, input, «hint»). b. ReturnIfAbrupt(result). features: [Symbol.toPrimitive] --- 1003
value-symbol-to-prim-invocation.js --- esid: sec-date-value description: Invocation of `Symbol.toPrimitive` method info: | [...] 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then [...] b. Else, i. Let v be ? ToPrimitive(value). [...] ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] ) 1. If PreferredType was not passed, let hint be "default". [...] 4. Let exoticToPrim be GetMethod(input, @@toPrimitive). 5. ReturnIfAbrupt(exoticToPrim). 6. If exoticToPrim is not undefined, then a. Let result be Call(exoticToPrim, input, «hint»). [...] features: [Symbol.toPrimitive] --- 1356
value-symbol-to-prim-return-obj.js --- esid: sec-date-value description: > Behavior when coercion via `Symbol.toPrimitive` yields an Object info: | [...] 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then [...] b. Else, i. Let v be ? ToPrimitive(value). ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] ) [...] 4. Let exoticToPrim be GetMethod(input, @@toPrimitive). 5. ReturnIfAbrupt(exoticToPrim). 6. If exoticToPrim is not undefined, then a. Let result be Call(exoticToPrim, input, «hint»). b. ReturnIfAbrupt(result). c. If Type(result) is not Object, return result. d. Throw a TypeError exception. features: [Symbol.toPrimitive] --- 1240
value-symbol-to-prim-return-prim.js --- esid: sec-date-value description: > Behavior when coercion via `Symbol.toPrimitive` yields a primitive value info: | [...] 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then [...] b. Else, i. Let v be ? ToPrimitive(value). ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] ) [...] 4. Let exoticToPrim be GetMethod(input, @@toPrimitive). 5. ReturnIfAbrupt(exoticToPrim). 6. If exoticToPrim is not undefined, then a. Let result be Call(exoticToPrim, input, «hint»). b. ReturnIfAbrupt(result). c. If Type(result) is not Object, return result. features: [Symbol.toPrimitive] --- 1229
value-to-primitive-call-err.js --- esid: sec-date-value description: Error invoking `Symbol.toPrimitive` method of object value info: | 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then i. Let tv be thisTimeValue(value). b. Else, i. Let v be ? ToPrimitive(value). ToPrimitive ( input [ , PreferredType ] ) [...] 4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive). features: [Symbol.toPrimitive] --- 822
value-to-primitive-call.js --- esid: sec-date-value description: Invocation of `Symbol.toPrimitive` method of object value info: | 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then i. Let tv be thisTimeValue(value). b. Else, i. Let v be ? ToPrimitive(value). [...] ToPrimitive ( input [ , PreferredType ] ) 1. If PreferredType was not passed, let hint be "default". 2. Else if PreferredType is hint String, let hint be "string". 3. Else PreferredType is hint Number, let hint be "number". 4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive). 5. If exoticToPrim is not undefined, then a. Let result be ? Call(exoticToPrim, input, « hint »). [...] features: [Symbol.toPrimitive] --- 1429
value-to-primitive-get-meth-err.js --- esid: sec-date-value description: Error retrieving `Symbol.toPrimitive` method from object value info: | 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then i. Let tv be thisTimeValue(value). b. Else, i. Let v be ? ToPrimitive(value). [...] features: [Symbol.toPrimitive] --- 958
value-to-primitive-result-faulty.js --- esid: sec-date-value description: Exotic `Symbol.toPrimitive` method returns a non-primitive info: | 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then i. Let tv be thisTimeValue(value). b. Else, i. Let v be ? ToPrimitive(value). ToPrimitive ( input [ , PreferredType ] ) 1. If PreferredType was not passed, let hint be "default". 2. Else if PreferredType is hint String, let hint be "string". 3. Else PreferredType is hint Number, let hint be "number". 4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive). 5. If exoticToPrim is not undefined, then a. Let result be ? Call(exoticToPrim, input, « hint »). b. If Type(result) is not Object, return result. c. Throw a TypeError exception. features: [Symbol.toPrimitive] --- 1524
value-to-primitive-result-non-string-prim.js --- esid: sec-date-value description: > Exotic `Symbol.toPrimitive` method returns a primitive value other than a string info: | 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then i. Let tv be thisTimeValue(value). b. Else, i. Let v be ? ToPrimitive(value). ii. If Type(v) is String, then 1. Let tv be the result of parsing v as a date, in exactly the same manner as for the parse method (20.3.3.2). If the parse resulted in an abrupt completion, tv is the Completion Record. ToPrimitive ( input [ , PreferredType ] ) 1. If PreferredType was not passed, let hint be "default". 2. Else if PreferredType is hint String, let hint be "string". 3. Else PreferredType is hint Number, let hint be "number". 4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive). 5. If exoticToPrim is not undefined, then a. Let result be ? Call(exoticToPrim, input, « hint »). b. If Type(result) is not Object, return result. features: [Symbol.toPrimitive] --- 1950
value-to-primitive-result-string.js --- esid: sec-date-value description: Exotic `Symbol.toPrimitive` method returns a String value info: | 3. If NewTarget is not undefined, then a. If Type(value) is Object and value has a [[DateValue]] internal slot, then i. Let tv be thisTimeValue(value). b. Else, i. Let v be ? ToPrimitive(value). ii. If Type(v) is String, then 1. Let tv be the result of parsing v as a date, in exactly the same manner as for the parse method (20.3.3.2). If the parse resulted in an abrupt completion, tv is the Completion Record. ToPrimitive ( input [ , PreferredType ] ) 1. If PreferredType was not passed, let hint be "default". 2. Else if PreferredType is hint String, let hint be "string". 3. Else PreferredType is hint Number, let hint be "number". 4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive). 5. If exoticToPrim is not undefined, then a. Let result be ? Call(exoticToPrim, input, « hint »). b. If Type(result) is not Object, return result. features: [Symbol.toPrimitive] --- 1444
year-zero.js --- esid: sec-expanded-years description: Negative zero, as an extended year, is rejected info: | The year 0 is considered positive and must be prefixed with a + sign. The representation of the year 0 as -000000 is invalid. --- 617