21 lines
		
	
	
		
			686 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			21 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);
 | |
|   }
 | |
| });
 | 
