Nodejs Time Format strftime(fmt)

Here you can find the source of strftime(fmt)

Method Source Code

Date.prototype.strftime = function (fmt) {

    // formatting for day
    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());
    fmt = fmt.replace(/%j/g, this.getDOY() < 100 && this.getDOY() > 10 ? ("0" + this.getDOY()) : this.getDOY() < 10 ? ("00" + this.getDOY()) : this.getDOY());

    day = this.getDay();//from w  w  w  . j ava2 s  .  c o  m
    day = day == 0 && 7;

    fmt = fmt.replace(/%u/g, day);
    fmt = fmt.replace(/%w/g, this.getDay());

    // formatting for week
    fmt = fmt.replace(/%U/g, this.getWeekNumber());

    // formatting for month
    fmt = fmt.replace(/%b/g, abMonth[this.getMonth()]);
    fmt = fmt.replace(/%B/g, month[this.getMonth()]);
    fmt = fmt.replace(/%m/g, (this.getMonth() + 1) < 10 ? ("0" + (this.getMonth() + 1)) : (this.getMonth() + 1));

    // formatting for year
    fmt = fmt.replace(/%C/g, Math.floor(this.getFullYear() / 100 + 1, 0));
    fmt = fmt.replace(/%g/g, this.getFullYear().toString().substr(2, 2));
    fmt = fmt.replace(/%G/g, this.getFullYear());
    fmt = fmt.replace(/%y/g, this.getFullYear().toString().substr(2, 2));
    fmt = fmt.replace(/%Y/g, this.getFullYear());

    return fmt;
};

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);
          }else if(typeof formatter == "string") {
            return date.strftime(formatter);
    ...
    
  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() {
      return function(format) {
        var date;
        return date = this;
      };
    };
    
  4. 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) {
    ...
    
  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") {
    ...
    
  6. 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];
    ...
    
  7. 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;
    };
    
  8. 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]); 
    };
    
  9. getHM()
    Date.prototype.getHM = function() {
      return [this.getHours(), this.getMinutes()].map(function(v) { return v < 10 ? '0' + v : v; }).join(':');
    };