Nodejs Time Format strftime( ()

Here you can find the source of strftime( ()

Method Source Code

"use strict";// w ww. j a v a2 s.  c om

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);
            }
            return f;
         });
   }

   // internal helper
   function zeroPad(num) {
      return (+num < 10 ? "0" : "") + num;
   }

   Date.formats = {
      // formatting methods
      d: function (date) {
         return zeroPad(date.getDate());
      },
      j: function (date) {
         var jan1 = new Date(date.getFullYear(), 0, 11),
            diff = date.getTime() - jan1.getTime();
         return Math.ceil(diff / 86400000);
      },
      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. timeAgo(options)
    Number.prototype.timeAgo = function(options) {
      var now  = new Date(),
          diff = now.getTime()/1000 - this,
          str  = '';
      options = options || {};
      diff    = diff < 0 ? 0 : diff;
      if(diff < 60)
        str = Math.round(diff) + 's';
      else if(diff < 3600) {
    ...
    
  2. strftime(fmt)
    Number.prototype.strftime = function(fmt){
        var d  = new Date(this*1000);
        return d.strftime(fmt);
    };
    
  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") {
    ...
    
  4. 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") {
    ...
    
  5. 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);
    ...
    
  6. 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") {
    ...
    
  7. 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") {
    ...
    
  8. strftime( ()
    Date.prototype.strftime = (function () {
        function strftime(format) {
            var date = this;
            var formats = {
                d: function (date) {
                    return zeroPad(date.getDate());
                },
                m: function (date) {
                    return zeroPad(date.getMonth() + 1);
    ...
    
  9. 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);
    ...