20 lines
686 B
JavaScript
20 lines
686 B
JavaScript
'use strict';
|
|
var $ = require('../internals/export');
|
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
|
|
var DatePrototype = Date.prototype;
|
|
var thisTimeValue = uncurryThis(DatePrototype.getTime);
|
|
var setFullYear = uncurryThis(DatePrototype.setFullYear);
|
|
|
|
// `Date.prototype.setYear` method
|
|
// https://tc39.es/ecma262/#sec-date.prototype.setyear
|
|
$({ target: 'Date', proto: true }, {
|
|
setYear: function setYear(year) {
|
|
// validate
|
|
thisTimeValue(this);
|
|
var yi = toIntegerOrInfinity(year);
|
|
var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi;
|
|
return setFullYear(this, yyyy);
|
|
}
|
|
});
|