Nodejs Date Format format(pattern)

Here you can find the source of format(pattern)

Method Source Code

Date.prototype.format = function(pattern) {
   var returnValue = pattern;
   var format = {
      "y+": this.getFullYear(),
      "M+": this.getMonth() + 1,
      "d+": this.getDate(),
      "H+": this.getHours(),
      "m+": this.getMinutes(),
      "s+": this.getSeconds(),
      "S": this.getMilliseconds(),
      "h+": (this.getHours() % 12),
      "a": (this.getHours() / 12) <= 1 ? "AM" : "PM"
   };// ww  w  .ja  v a 2s  . c o m
   for(var key in format) {
      var regExp = new RegExp("(" + key + ")");
      if(regExp.test(returnValue)) {
         var zero = "";
         for(var i = 0; i < RegExp.$1.length; i++) {
            zero += "0";
         }
         var replacement = RegExp.$1.length == 1 ? format[key] : (zero + format[key]).substring((("" + format[key]).length));
         returnValue = returnValue.replace(RegExp.$1, replacement);
      }
   }
   return returnValue;
};

Related

  1. format(format,value)
    Date.prototype.format = function (format,value) {
      if (!format) {
        format = "yyyy-MM-dd hh:mm:ss";
      if(value==''||value==null){
        return '';
      var strdata=value.replace(/-/g,"/");
      var index=strdata.indexOf(".");
    ...
    
  2. format(format,value)
    Date.prototype.format = function (format,value) {
      if (!format) {
        format = "yyyy-MM-dd hh:mm:ss";
      if(value==''||value==null){
        return '';
      var strdata=value.replace(/-/g,"/");
      var index=strdata.indexOf(".");
    ...
    
  3. format(formatStr)
    Date.prototype.format = function(formatStr)   
        var str = formatStr;   
        var Week = ['?','?','?','?','?','?','?'];  
        str=str.replace(/yyyy|YYYY/,this.getFullYear());   
        str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));   
        str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());   
        str=str.replace(/M/g,this.getMonth());   
        str=str.replace(/w|W/g,Week[this.getDay()]);   
    ...
    
  4. format(formatStr)
    Date.prototype.format = function(formatStr) {
        var str = formatStr;
        var Week = ['?','?','?','?','?','?','?'];
        str = str.replace(/yyyy|YYYY/,this.getFullYear());
        str = str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));
        str = str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());
        str = str.replace(/M/g,this.getMonth());
        str = str.replace(/w|W/g,Week[this.getDay()]);
        str = str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());
    ...
    
  5. format(formatStr)
    Date.prototype.format= function(formatStr) 
    var date = this;
    var timeValues = function(){};
    timeValues.prototype = {
       year:function(){
        if(formatStr.indexOf("yyyy")>=0)
         return date.getYear();
    ...
    
  6. format(pattern)
    Date.prototype.format = function(pattern)
      if(!pattern){
        pattern = "yyyy-MM-dd";
      var o =
        "M+" : this.getMonth() + 1, 
        "d+" : this.getDate(), 
    ...
    
  7. format(pattern)
    Date.prototype.format = function(pattern){
        var pattern = pattern;    
        var dateObj = {
            "Y" : this.getFullYear(),
            "M" : this.getMonth()+1,
            "D" : this.getDate(),
            "h" : this.getHours(),
            "m" : this.getMinutes(),
            "s" : this.getSeconds()
    ...
    
  8. format(pattern, gmt)
    Date.prototype.format = function(pattern, gmt) {
      var result = '';
      var date = this;
      if(gmt != undefined) {
        var utc = date.getTime() + (date.getTimezoneOffset() * 60000);
        date = new Date(utc + (3600000 * gmt));
      for (var i = 0; i < pattern.length; i++) {
        var c = pattern[i];
    ...
    
  9. format(str)
    Date.prototype.format = function (str) {
      const o = {
        'y+': this.getFullYear(),
        'M+': this.getMonth() + 1,
        'd+': this.getDate(),
        'h+': this.getHours(),
        'm+': this.getMinutes(),
        's+': this.getSeconds()
      Object.keys(o).forEach(element => {
        str = str.replace(new RegExp(element), substr => {
          return String.prototype.padStart.call(o[element], substr.length, '0')
        })
      })
      return str