40 lines
795 B
JavaScript
40 lines
795 B
JavaScript
|
|
/**
|
|
* Expose `toIsoString`.
|
|
*/
|
|
|
|
module.exports = toIsoString;
|
|
|
|
|
|
/**
|
|
* Turn a `date` into an ISO string.
|
|
*
|
|
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
*
|
|
* @param {Date} date
|
|
* @return {String}
|
|
*/
|
|
|
|
function toIsoString (date) {
|
|
return date.getUTCFullYear()
|
|
+ '-' + pad(date.getUTCMonth() + 1)
|
|
+ '-' + pad(date.getUTCDate())
|
|
+ 'T' + pad(date.getUTCHours())
|
|
+ ':' + pad(date.getUTCMinutes())
|
|
+ ':' + pad(date.getUTCSeconds())
|
|
+ '.' + String((date.getUTCMilliseconds()/1000).toFixed(3)).slice(2, 5)
|
|
+ 'Z';
|
|
}
|
|
|
|
|
|
/**
|
|
* Pad a `number` with a ten's place zero.
|
|
*
|
|
* @param {Number} number
|
|
* @return {String}
|
|
*/
|
|
|
|
function pad (number) {
|
|
var n = number.toString();
|
|
return n.length === 1 ? '0' + n : n;
|
|
} |