You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					27 lines
				
				996 B
			
		
		
			
		
	
	
					27 lines
				
				996 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
							 | 
						||
| 
								 | 
							
								var fails = require('./_fails');
							 | 
						||
| 
								 | 
							
								var getTime = Date.prototype.getTime;
							 | 
						||
| 
								 | 
							
								var $toISOString = Date.prototype.toISOString;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var lz = function (num) {
							 | 
						||
| 
								 | 
							
								  return num > 9 ? num : '0' + num;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// PhantomJS / old WebKit has a broken implementations
							 | 
						||
| 
								 | 
							
								module.exports = (fails(function () {
							 | 
						||
| 
								 | 
							
								  return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
							 | 
						||
| 
								 | 
							
								}) || !fails(function () {
							 | 
						||
| 
								 | 
							
								  $toISOString.call(new Date(NaN));
							 | 
						||
| 
								 | 
							
								})) ? function toISOString() {
							 | 
						||
| 
								 | 
							
								  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
							 | 
						||
| 
								 | 
							
								  var d = this;
							 | 
						||
| 
								 | 
							
								  var y = d.getUTCFullYear();
							 | 
						||
| 
								 | 
							
								  var m = d.getUTCMilliseconds();
							 | 
						||
| 
								 | 
							
								  var s = y < 0 ? '-' : y > 9999 ? '+' : '';
							 | 
						||
| 
								 | 
							
								  return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
							 | 
						||
| 
								 | 
							
								    '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
							 | 
						||
| 
								 | 
							
								    'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
							 | 
						||
| 
								 | 
							
								    ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
							 | 
						||
| 
								 | 
							
								} : $toISOString;
							 |