// Maximum values for the int32 fast-path. const maxYears = 1_000_000; const maxMonths = 1_000_000 * 12; const maxDate = 100_000_000;
// Test with positive values. // // Note: Zero year component is equal to 1900.
assertEq(Date.UTC(0, 0, maxDate), 8637790924800000);
assertEq(Date.UTC(0, maxMonths, 0), NaN);
assertEq(Date.UTC(0, maxMonths, maxDate), NaN);
assertEq(Date.UTC(maxYears, 0, 0), NaN);
assertEq(Date.UTC(maxYears, 0, maxDate), NaN);
assertEq(Date.UTC(maxYears, maxMonths, 0), NaN);
assertEq(Date.UTC(maxYears, maxMonths, maxDate), NaN);
// Test with negative values. // // Note: Zero year component is equal to 1900.
assertEq(Date.UTC(0, 0, -maxDate), NaN);
assertEq(Date.UTC(0, -maxMonths, 0), NaN);
assertEq(Date.UTC(0, -maxMonths, -maxDate), NaN);
assertEq(Date.UTC(-maxYears, 0, 0), NaN);
assertEq(Date.UTC(-maxYears, 0, -maxDate), NaN);
assertEq(Date.UTC(-maxYears, -maxMonths, 0), NaN);
assertEq(Date.UTC(-maxYears, -maxMonths, -maxDate), NaN);
// Years and months can cancel each other out.
assertEq(
Date.UTC(maxYears, -maxMonths, 1),
Date.parse("0000-01-01T00:00:00.000Z")
);
assertEq(
Date.UTC(-maxYears, maxMonths, 1),
Date.parse("0000-01-01T00:00:00.000Z")
);
// Maximum valid date-time values are 100_000_000 days relative to January 1, 1970.
assertEq(
Date.UTC(1970, 0, 1 + 100_000_000), 8640000000000000
);
assertEq(
Date.UTC(1970, 0, 1 - 100_000_000),
-8640000000000000
);
if (typeof reportCompare === "function")
reportCompare(true, true);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.