Nodejs Time Format strftime(format)

Here you can find the source of strftime(format)

Method Source Code

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];
         case 'B': return ("January February March April May June July August September October November December").split(' ')[month];
         case 'c': return this.toString();
         case 'd': return this.getDate();
         case 'D': return pad(this.getDate());
         case 'H': return pad(hours);
         case 'I': return pad((hours + 11) % 12 + 1);
         case 'k': return hours;
         case 'l': return (hours + 11) % 12 + 1;
         case 'm': return pad(month + 1);
         case 'M': return pad(minutes);
         case 'p': return hours > 11 ? 'PM' : 'AM';
         case 'S': return pad(this.getSeconds());
         case 'T': return pad(hours) + ":" + pad(minutes) + ":" + pad(this.getSeconds());
         case 'w': return day;
         case 'y': return pad(this.getFullYear() % 100);
         case 'Y': return this.getFullYear();
      }//from  w  w  w .  j  ava 2  s  .c  o m
   }.bind(this));
};
Number.prototype.toPaddedString = function(len) {
   var s = String(this);
   while (s.length < len) { s = '0' + s; }
   return s;
};

function formatDatetimeLocale(tstamp, format) {
   return (new Date(tstamp * 1000)).strftime(format);
}
var TZ_NAME = (function getLocaleTzName() {
   var s = (new Date()).toString();
   if (s[s.length - 5] == '(' && s[s.length - 1] == ')') {
      return s.substr(s.length - 4, 3);
   }
   return '';
})();

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() {
      return function(format) {
        var date;
        return date = this;
      };
    };
    
  3. 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) {
    ...
    
  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(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());
    ...
    
  6. 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;
    };
    
  7. 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]); 
    };
    
  8. getHM()
    Date.prototype.getHM = function() {
      return [this.getHours(), this.getMinutes()].map(function(v) { return v < 10 ? '0' + v : v; }).join(':');
    };
    
  9. getHm()
    Date.prototype.getHm = function()
        var hh = this.getHours();
        if (hh < 10)
          hh = "0" + hh.toString();
        else
          hh = hh.toString();
        var mm = this.getMinutes();
        if (mm < 10)
          mm = "0" + mm.toString();
        else
          mm = mm.toString();
        return hh + ":" + mm;
    };
    Date.prototype.getYmd = function() {
      var yyyy = this.getFullYear().toString();
      var mm = (this.getMonth()+1).toString(); 
      var dd  = this.getDate().toString();
      return yyyy + (mm[1]?mm:"0"+mm[0]) + (dd[1]?dd:"0"+dd[0]); 
    };
    var days = ['SUN','MON','TUE','WED','THU','FRI','SAT'];
    Date.prototype.getDayName = function() {
        return days[ this.getDay() ];
    };