Nodejs Time Format formatAsTime()

Here you can find the source of formatAsTime()

Method Source Code

Number.prototype.formatAsTime = function() {
   var secs = Math.floor(this);
   if (secs < 0) {
      return "Indefinite";
   } else if (secs === 0) {
      return "0s";
   }/*from   ww w . j a  v  a2s.co m*/
   var days = Math.floor(secs / 86400);
   var hours = Math.floor((secs % 86400) / 3600);
   var minutes = Math.floor((secs % 3600) / 60);
   var seconds = Math.floor(secs % 60);
   var str = "";
   if (days > 0) {
      str += days + "d ";
   }
   if (hours > 0) {
      str += hours + "h ";
   }
   if (minutes > 0) {
      str += minutes + "m ";
   }
   if (seconds > 0) {
      str += seconds + "s";
   }
   return str;
};
Number.prototype.tidyDecimal = function(n) {
   return Math.abs(this.toFixed(n));
};
Number.prototype.toEm = function() {
   return (this/12).tidyDecimal(3);
};

Related

  1. toTime()
    Number.prototype.toTime = function () {
        var d = this;
        var date = new Date();
        date.setTime(d);
        var h =date.getHours();
        var m = date.getMinutes();
        var s = date.getSeconds();
        return ((h < 10 ? "0" : "") +h +  ":" + (m < 10 ? "0" : "") + m + ":" + (s < 10 ? "0" : "") + s );
    };
    ...
    
  2. toTimeCode()
    Number.prototype.toTimeCode = function(){
      var minutes = Math.floor(this/60);
      var seconds = this%60;
      if(minutes != NaN){
        if(minutes !=0){
          return minutes + ":" + seconds;
        else{
          return seconds;
    ...
    
  3. toTimeCode()
    Number.prototype.toTimeCode = function(){
      minutes = Math.floor(this/60.0);
      seconds = Math.round(this - (minutes * 60.0));
      hours = Math.floor(minutes/60.0);
      minutes = minutes - (hours * 60);
      if(seconds == 60) {
        minutes+=1;
        seconds = 0;
      if(minutes == 60) {
        hours+=1;
        minutes = 0;
      if(this == NaN || seconds==NaN){ seconds = 0;}
      if(this == NaN || minutes==NaN){ minutes = 0;}
      if((""+seconds).length == 1) seconds = "0"+seconds;
      if((""+minutes).length == 1) minutes = "0"+minutes;
      if((""+hours).length == 1)   hours = "0"+hours;
      if(parseInt(hours) > 0){
        return hours + ":" + minutes + ":" + seconds;
      }else{
        return minutes + ":" + seconds;
    
  4. toTimeRemain()
    Number.prototype.toTimeRemain = function () {
        var sec_num = parseInt(this, 10); 
        var hours   = Math.floor(sec_num / 3600);
        var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
        var seconds = sec_num - (hours * 3600) - (minutes * 60);
        if (hours   < 10) {hours   = hours;}
        if (minutes < 10) {minutes = minutes;}
        if (seconds < 10) {seconds = '0' + seconds;}
        var time = minutes+':'+seconds;
    ...
    
  5. toTimerFormat()
    projectName = 'Meteoro';
    projectSlogan = 'Pomodoro App on Meteor';
    Number.prototype.toTimerFormat = function () {
        var sec_num = parseInt(this, 10); 
        var hours   = 0;
        var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
        var seconds = sec_num - (hours * 3600) - (minutes * 60);
        if (minutes < 10) {minutes = "0"+minutes;}
        if (seconds < 10) {seconds = "0"+seconds;}
    ...
    
  6. hour()
    Number.prototype.hour = Number.prototype.hours = function() {
      return (this * 3600 * 1000);
    };
    
  7. hours()
    Number.prototype.hours = function () {
      var i = this.valueOf();
      var t = new Date(1000 * 60 * 60 * i);
      return new Date(t).getTime();
    };
    
  8. 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) {
    ...
    
  9. strftime(fmt)
    Number.prototype.strftime = function(fmt){
        var d  = new Date(this*1000);
        return d.strftime(fmt);
    };