Node.js examples for Date:Date Format
Date to ISO 8601 String
Date.prototype.toISO8601String = function (format, offset) { /* accepted values for the format [1-6]: 1 Year:// w ww .j a v a2 s . com YYYY (eg 1997) 2 Year and month: YYYY-MM (eg 1997-07) 3 Complete date: YYYY-MM-DD (eg 1997-07-16) 4 Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00) 5 Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) 6 Complete date plus hours, minutes, seconds and a decimal fraction of a second YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00) */ 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); var date = new Date(Number(Number(this) + (offsetnum * 60000))); } var zeropad = function (num) { return ((num < 10) ? '0' : '') + num; } var str = ""; str += date.getUTCFullYear(); if (format > 1) { str += "-" + zeropad(date.getUTCMonth() + 1); } if (format > 2) { str += "-" + zeropad(date.getUTCDate()); } if (format > 3) { str += "T" + zeropad(date.getUTCHours()) + ":" + zeropad(date.getUTCMinutes()); } if (format > 5) { var secs = Number(date.getUTCSeconds() + "." + ((date.getUTCMilliseconds() < 100) ? '0' : '') + zeropad(date.getUTCMilliseconds())); str += ":" + zeropad(secs); } else if (format > 4) { str += ":" + zeropad(date.getUTCSeconds()); } if (format > 3) { str += offset; } return str; }