Nodejs Date Format format(pattern, gmt)

Here you can find the source of format(pattern, gmt)

Method Source Code

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));
   }/*  w  w  w.  j a v a 2s .  c o  m*/
   for (var i = 0; i < pattern.length; i++) {
      var c = pattern[i];
      switch (c) {
         case 'd':
            result += ('0' + date.getDate()).slice(-2);
            break;
         
         case 'm':
            result += ('0' + String(date.getMonth()+1)).slice(-2);
            break;
         
         case 'Y':
            result += date.getFullYear();
            break;
         
         case 'H':
            result += ('0' + date.getHours()).slice(-2);
            break;

         case 'i':
            result += ('0' + date.getMinutes()).slice(-2);
            break;

         case 's':
            result += ('0' + date.getSeconds()).slice(-2);
            break;

         case '\\':
            result += pattern[++i];
            break;

         default:
            result += c;
            break;
      }
   }
   return result;
}

Related

  1. 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());
    ...
    
  2. 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();
    ...
    
  3. format(pattern)
    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(),
    ...
    
  4. format(pattern)
    Date.prototype.format = function(pattern)
      if(!pattern){
        pattern = "yyyy-MM-dd";
      var o =
        "M+" : this.getMonth() + 1, 
        "d+" : this.getDate(), 
    ...
    
  5. 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()
    ...
    
  6. 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
    
  7. format(strFormat)
    Date.prototype.format = function (strFormat) {
      'use strict';
      var d = new Date(this),
        mon = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        month = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
        day = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        weekday = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
        v = {
          's': String(d.getSeconds()),
    ...
    
  8. format1()
    Date.prototype.format1 = function() {
        return "" + this.getMonth() + this.getFullYear();
    function f(d) {
        for (var i=0; i<60; i++) {
            assertEq(d.format1(), "91987");
    f(new Date("10/10/1987 1:11:11"));
    ...
    
  9. formatAMPM(date)
    function formatAMPM(date) {
      var hours = date.getHours();
      var minutes = date.getMinutes();
      var ampm = hours >= 12 ? 'pm' : 'am';
      hours = hours % 12;
      hours = hours ? hours : 12; 
      minutes = minutes < 10 ? '0'+minutes : minutes;
      var strTime = hours + ':' + minutes + ' ' + ampm;
      return strTime;
    ...