Nodejs Time Format strftime()

Here you can find the source of strftime()

Method Source Code

Date.prototype.strftime = (function () {
   function strftime(format) {
      var date = this; 
      /*from  w w w. j a  v a  2  s  .com*/
      return (format + "").replace(/%([a-zA-Z])/g, 
      function (m, f) {
         var formatter = Date.formats && Date.formats[f];
         
         if (typeof formatter == "function") {
            return formatter.call(Date.formats, date);
         } else if (typeof formatter == "string") {
            return date.strftime(formatter); 
         }
         
         return f;
      });
      
   }
   
   function zeroPad(num) {
      return (+num < 10 ? "0" : "") + num;
   }
   
   Date.formats = {
      d: function (date) {
         return zeroPad(date.getDate());
      }, 
      
      m: function (date) {
         return zeroPad(date.getMonth() + 1);
      },
      
      y: function (date) {
         return zeroPad(date.getYear() % 100);
      }, 
      
      Y: function (date) {
         return date.getFullYear(); 
      }, 
      
      F: "%Y-%m-%d",
      D: "%m/%d/&y"
   }; 
   
   return strftime; 
}());

Related

  1. strftime(()
    Date.prototype.strftime = (function(){
        function strftime(format){
          var date = this;
          return (format + "").replace(/%([a-zA-Z])/g, 
          function (m, f){
            var formatter = Date.formats && Date.formats[f];
            if (typeof formatter == "function")
              return formatter.call(Date.formats, date);
    ...
    
  2. strftime(()
    Date.prototype.strftime = (function() {
      function strftime(format) {
        var date = this;
        return (format + "").replace(/%([a-zA-z])/g, function(m, f) {
          var formatter = Date.formats && Date.formats[f];
          if(typeof formatter == "function") {
            return formatter.call(Date.formats, date);
          }else if(typeof formatter == "string") {
            return date.strftime(formatter);
    ...
    
  3. strftime(()
    Date.prototype.strftime = (function() {
      function strftime(format) {
        var date = this;
        return (format + "").replace(/%([a-zA-Z])/g, function(m, f) {
          var formatter = Date.formats && Date.formats[f];
          if (typeof formatter == "function") {
            return formatter.call(Date.formats, date);
          } else if (typeof formatter == "string") {
            return date.strftime(formatter);
    ...
    
  4. strftime()
    Date.prototype.strftime = function() {
      return function(format) {
        var date;
        return date = this;
      };
    };
    
  5. strftime()
    var isDate = function(obj){
       return !!(obj && obj.getTimezoneOffset && obj.setUTCFullYear);
    Date.prototype.strftime = function(){
           function _zero(num){return (num < 10 ) ? "0"+num : ""+num };
           return [this.getFullYear()+"", _zero(this.getMonth()+1), _zero(this.getDate()) ].join('-') + " " + 
                            [this.getHours(), this.getMinutes(), this.getSeconds()].join(':')
    if (!String.prototype.supplant) {
    ...
    
  6. strftime(fmt)
    Date.prototype.strftime = function (fmt) {
        var abDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
            days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
            abMonth = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
            month = ["January", "February", "Mararch", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
        fmt = fmt.replace(/%a/g, abDays[this.getDay()]);
        fmt = fmt.replace(/%A/g, days[this.getDay()]);
        fmt = fmt.replace(/%d/g, this.getDate() < 10 ? ("0" + this.getDate()) : this.getDate());
        fmt = fmt.replace(/%e/g, this.getDate() < 10 ? (" " + this.getDate()) : this.getDate());
    ...
    
  7. strftime(format)
    Date.prototype.strftime = function(format) {
      var day = this.getDay(), month = this.getMonth();
      var hours = this.getHours(), minutes = this.getMinutes();
      function pad(num) { return num.toPaddedString(2); };
      return format.replace(/\%([aAbBcdDHIklmMpSTwyY])/g, function(part) {
        switch(part[1]) {
          case 'a': return ("Sun Mon Tue Wed Thu Fri Sat").split(' ')[day];
          case 'A': return ("Sunday Monday Tuesday Wednesday Thursday Friday Saturday").split(' ')[day];
          case 'b': return ("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec").split(' ')[month];
    ...
    
  8. hhmm()
    Date.prototype.hhmm = function() {
       var hh = this.getHours().toString();
       var mm = this.getMinutes().toString();
       if(hh.length == 1){
           hh = '0' + hh;
       if(mm.length == 1){
           mm = '0' + mm;
       return hh + mm;
    };
    
  9. hhmmss()
    Date.prototype.hhmmss = function () {
        var hh = this.getHours().toString();
        var min = this.getMinutes().toString();
        var sec = this.getSeconds().toString();
        return (hh[1] ? hh : "0" + hh[0]) + ':' + (min[1] ? min : "0" + min[0]) + ':' + (sec[1] ? sec : "0" + sec[0]); 
    };