Nodejs Date ISO Format setISO8601(dString)

Here you can find the source of setISO8601(dString)

Method Source Code

Date.prototype.setISO8601 = function(dString) {
   var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;
   if (dString.toString().match(new RegExp(regexp))) {
      var d = dString.match(new RegExp(regexp));
      var offset = 0;
      this.setUTCDate(1);//from w w w  .  j  ava2  s  .  co m
      this.setUTCFullYear(parseInt(d[1], 10));
      this.setUTCMonth(parseInt(d[3], 10) - 1);
      this.setUTCDate(parseInt(d[5], 10));
      this.setUTCHours(parseInt(d[7], 10));
      this.setUTCMinutes(parseInt(d[9], 10));
      this.setUTCSeconds(parseInt(d[11], 10));
      if (d[12]) {
         this.setUTCMilliseconds(parseFloat(d[12]) * 1000);
      } else {
         this.setUTCMilliseconds(0);
      }
      if (d[13] != 'Z') {
         offset = (d[15] * 60) + parseInt(d[17], 10);
         offset *= ((d[14] == '-') ? -1 : 1);
         this.setTime(this.getTime() - offset * 60 * 1000);
      }
   } else {
      this.setTime(Date.parse(dString));
   }
   return this;
};

Related

  1. toISOString()
    Date.prototype.toISOString = Date.prototype.toISOString || function() {
      return this.getUTCFullYear() + "-"
        + ("0" + this.getUTCMonth() + 1 + "-").slice(-3)
        + ("0" + this.getUTCDate() + "T").slice(-3)
        + ("0" + this.getUTCHours() + ":").slice(-3)
        + ("0" + this.getUTCMinutes() + ":").slice(-3)
        + ("0" + this.getUTCSeconds() + ".").slice(-3)
        + ("00" + this.getUTCMilliseconds() + "Z").slice(-4);
    };
    ...
    
  2. toISOString(withMilliSeconds)
    function pad(number) {
      if (number < 10) {
        return '0' + number;
      return number;
    Date.prototype.toISOString = function(withMilliSeconds) {
      var ISOString = this.getUTCFullYear() +
        '-' + pad(this.getUTCMonth() + 1) +
    ...
    
  3. toISOString()
    Date.prototype.toISOString = function toISOString() {
      var date = this;
      function pad(str, len) {
        var pad = "0000";
        str = '' + str;
        return pad.substr(0, len - str.length) + str
      var y = date.getUTCFullYear(),
      m = pad(date.getUTCMonth() + 1, 2),
    ...
    
  4. toISOString()
    var global = (function () { return this; }).call(null);
    function pad(number) {
      if (number < 10) {
        return '0' + number;
      return number;
    Date.prototype.toISOString = function toISOString() {
      return this.getUTCFullYear() +
    ...
    
  5. toISOString()
    Date.prototype.toISOString = function toISOString() {
      var result, length, value;
      if (! isFinite(this)) {
        throw new RangeError();
      result = [this.getUTCFullYear(), this.getUTCMonth() + 1, this.getUTCDate(),
        this.getUTCHours(), this.getUTCMinutes(), this.getUTCSeconds()];
      length = result.length;
      while (length--) {
    ...
    
  6. setISO8601(dString)
    Date.prototype.setISO8601 = function(dString){
        var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;
        if (dString.toString().match(new RegExp(regexp))) {
            var d = dString.match(new RegExp(regexp));
            var offset = 0;
            this.setUTCDate(1);
            this.setUTCFullYear(parseInt(d[1],10));
            this.setUTCMonth(parseInt(d[3],10) - 1);
            this.setUTCDate(parseInt(d[5],10));
    ...
    
  7. setISO8601(dString)
    Date.prototype.setISO8601 = function(dString){
      var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;
      var d = dString.toString().match(regexp);
      if (d) {
        var offset = 0;
        this.setUTCDate(1);
        this.setUTCFullYear(parseInt(d[1],10));
        this.setUTCMonth(parseInt(d[3],10) - 1);
        this.setUTCDate(parseInt(d[5],10));
    ...
    
  8. setISO8601(dString)
    Date.prototype.setISO8601 = function(dString) {
        var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;
        if (dString.toString().match(new RegExp(regexp))) {
            var d = dString.match(new RegExp(regexp));
            var offset = 0;
            this.setUTCDate(1);
            this.setUTCFullYear(parseInt(d[1], 10));
            this.setUTCMonth(parseInt(d[3], 10) - 1);
            this.setUTCDate(parseInt(d[5], 10));
    ...
    
  9. setISO8601(string)
    Date.prototype.setISO8601 = function (string) {
        var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
            "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
            "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
        var d = string.match(new RegExp(regexp));
        var offset = 0;
        var date = new Date(d[1], 0, 1);
        if (d[3]) { date.setMonth(d[3] - 1); }
        if (d[5]) { date.setDate(d[5]); }
    ...