Nodejs Date ISO Format toISO8601String(offset)

Here you can find the source of toISO8601String(offset)

Method Source Code

Date.prototype.toISO8601String = function (offset) {
    if (!offset) {
        var offset = 'Z';
        var date = this;
    } else {/*from   ww  w  .  j  a v a2 s  .  com*/
        var d = offset.match(/([-+])([0-9]{2}):([0-9]{2})/);
        var offsetnum = (Number(d[2]) * 60) + Number(d[3]);
        offsetnum *= ((d[1] == '-') ? -1 : 1);
        var date = new Date(Number(Number(this) + (offsetnum * 60000)));
    }

    var zeropad = function (num) { return ((num < 10) ? '0' : '') + num; }

    var str = "";
    str += date.getUTCFullYear();
    str += "-" + zeropad(date.getUTCMonth() + 1);
    str += "-" + zeropad(date.getUTCDate());
    str += "T" + zeropad(date.getUTCHours()) +
           ":" + zeropad(date.getUTCMinutes());
    str += ":" + zeropad(date.getUTCSeconds());
    str += offset;
    
    return str;
}

Related

  1. rfc3339()
    function f(n) {
        return n < 10 ? '0' + n : n;
    Date.prototype.rfc3339 = function() {
        return this.getUTCFullYear()   + '-' +
             f(this.getUTCMonth() + 1) + '-' +
             f(this.getUTCDate())      + 'T' +
             f(this.getUTCHours())     + ':' +
             f(this.getUTCMinutes())   + ':' +
    ...
    
  2. rfc3339()
    function f(n) { 
        return n < 10 ? '0' + n : n;
    Date.prototype.rfc3339 = function() {
        return this.getUTCFullYear() + '-' +
             f(this.getUTCMonth() + 1) + '-' +
             f(this.getUTCDate()) + 'T' +
             f(this.getUTCHours()) + ':' +
             f(this.getUTCMinutes()) + ':' +
    ...
    
  3. rfc3339()
    function f(n) {    
        return n < 10 ? '0' + n : n;
    Date.prototype.rfc3339 = function() {
        return this.getUTCFullYear()   + '-' +
             f(this.getUTCMonth() + 1) + '-' +
             f(this.getUTCDate())      + 'T' +
             f(this.getUTCHours())     + ':' +
             f(this.getUTCMinutes())   + ':' +
    ...
    
  4. rfc822date()
    "use strict";
    Date.prototype.rfc822date = function() {
        var weekday_name = { 0:'Sun', 1:'Mon', 2:'Tue', 3:'Wed', 4:'Thu', 5:'Fri', 6: 'Sat' };
        var month_name = { 0:'Jan', 1:'Feb', 2:'Mar', 3:'Apr', 4:'May', 5:'Jun', 6: 'Jul', 7:'Aug', 8:'Sep', 9:'Oct', 10:'Nov', 11:'Dec' };
        var zeropad = function(num, length) {
            if ( length === undefined ) {
                length = 2;
            var add = length - num.toString().length;
    ...
    
  5. toISO8601String(format, offset)
    Date.prototype.toISO8601String = function (format, offset) {
        if (!format) { var format = 6; }
        if (!offset) {
            var offset = 'Z';
            var date = this;
        } else {
            var d = offset.match(/([-+])([0-9]{2}):([0-9]{2})/);
            var offsetnum = (Number(d[2]) * 60) + Number(d[3]);
            offsetnum *= ((d[1] == '-') ? -1 : 1);
    ...
    
  6. toISODateString()
    Date.prototype.toISODateString = function() {
        function pad(n){
            return n < 10 ? '0' + n : n
        function pad3(n){
            if (n < 10) return '00' + n;
            if (n < 100) return '0' + n;
            return n;
        return this.getUTCFullYear()+'-'
        + pad(this.getUTCMonth()+1)+'-'
        + pad(this.getUTCDate())+'T'
        + pad(this.getUTCHours())+':'
        + pad(this.getUTCMinutes())+':'
        + pad(this.getUTCSeconds())+'.'
        + pad3(this.getUTCMilliseconds())+'Z'
    
  7. toISOLocalString()
    Date.prototype.toISOLocalString = function() {
        if ( this.toString() === 'Invalid Date' ) {
            return this.toString();
        return new Date( this.getTime() - ( this.getTimezoneOffset() * 60 * 1000 ) ).toISOString()
            .replace( 'Z', this.getTimezoneOffsetAsTime() );
    };
    Date.prototype.getTimezoneOffsetAsTime = function() {
        var offsetMinutesTotal;
    ...
    
  8. toISOLocalString()
    Date.prototype.toISOLocalString = function() {
        var offset = {},
            pad2 = function( x ) {
                return ( x < 10 ) ? '0' + x : x;
            };
        if ( this.toString() === 'Invalid Date' ) {
            return this.toString();
        offset.minstotal = this.getTimezoneOffset();
    ...
    
  9. toISOString()
    Date.prototype.toISOString = function() {
      return this.getUTCFullYear()
        + "-" + ("0" + (this.getUTCMonth() + 1)).substr(-2, 2)
        + "-" + ("0" + this.getUTCDate()).substr(-2, 2)
        + "T" + ("0" + this.getUTCHours()).substr(-2, 2)
        + ":" + ("0" + this.getUTCMinutes()).substr(-2, 2)
        + ":" + ("0" + this.getUTCSeconds()).substr(-2, 2)
        + "Z";