Nodejs Time Format strftime( ()

Here you can find the source of strftime( ()

Method Source Code

"use strict";/*from  w w  w.ja v  a2 s .c o m*/

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.strtime(formatter);
                }

                return f;
            });
    }

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

    Date.formats = {
        //Formatting methods
        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();
        },

        // Format shorthands
        F: "%Y-%m-%d",
        D: "%m/%d/%y"
    };

    return strftime;
}());


var date = new Date(2009, 11, 5);
console.log(date.strftime("%Y"));
console.log(date.strftime("%m"));
console.log(date.strftime("%d"));
console.log(date.strftime("%y"));

Related

  1. strftime( ()
    "use strict";
    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") {
    ...
    
  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;
            var formats = {
                d: function (date) {
                    return zeroPad(date.getDate());
                },
                m: function (date) {
                    return zeroPad(date.getMonth() + 1);
    ...
    
  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") {
                    return date.strftime(formatter);
    ...
    
  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;
        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") {
    ...
    
  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") {
    ...