Nodejs Time Format toTime()

Here you can find the source of toTime()

Method Source Code

Object.defineProperty( Number.prototype, "toTime", {
    "get": function() {
        return function( intl ) {

            intl = intl || {};//from   w  w w .  j  a  va  2s.  c o  m

            intl.second = intl.second || [ 's',     's' ];
            intl.minute = intl.minute || [ 'm',     'm' ];
            intl.hour   = intl.hour   || [ ' hour', ' hrs'];
            intl.day    = intl.day    || [ ' day',  ' days' ];
            intl.month  = intl.month  || [ ' month',' months' ];
            intl.year   = intl.year   || [ ' year', ' years' ];

            intl.past   = intl.past || '%time% ago';
            intl.future = intl.future || 'in %time%';

            var units    = [ intl.second, intl.minute, intl.hour, intl.day, intl.month, intl.year ],
                divisors = [1,   60,  3600, 86400, 2635200, 31622400 ],
                remain = Math.abs( this * 1 ),
                divisorIndex = 1,
                stack = [],
                tries = 0,
                floatVal = 0,
                current;

            while ( remain >= 1 && tries < 5 ) {
                divisorIndex = 1;

                remain = Math.round( remain );

                while ( ( remain / divisors[ divisorIndex ] ) >= 1 && divisorIndex < 5 )
                    divisorIndex ++;

                floatVal = remain / divisors[ divisorIndex - 1 ];
                stack.push( ( current = Math.floor( floatVal ) ) + units[ divisorIndex - 1][ current == 1 ? 0 : 1 ] );
                remain =  ( ( ( floatVal - Math.floor( floatVal ) ) * divisors[ divisorIndex - 1 ] ) );

                tries++;

            }

            var time = stack.join(' ');

            return this < 0 ? intl.past.replace('%time%', time ) : intl.future.replace( '%time%', time );
        };
    }
} );

Related

  1. toHHMMSS()
    Number.prototype.toHHMMSS = function () {
        var hours   = Math.floor(this / 3600);
        var minutes = Math.floor((this - (hours * 3600)) / 60);
        var seconds = Math.floor(this - (hours * 3600) - (minutes * 60));
        if (hours   < 10) {hours   = "0"+hours;}
        if (minutes < 10) {minutes = "0"+minutes;}
        if (seconds < 10) {seconds = "0"+seconds;}
        if (hours   == 0) {
          var time = minutes+':'+seconds;
    ...
    
  2. toHHMMSS()
    Number.prototype.toHHMMSS = function () {
        sec_numb    = parseInt(this);
        var hours   = Math.floor(sec_numb / 3600);
        var minutes = Math.floor((sec_numb - (hours * 3600)) / 60);
        var seconds = sec_numb - (hours * 3600) - (minutes * 60);
        return ( ( hours < 10 ) ? '0' + hours : hours ) + ':' + 
            ( ( minutes < 10 ) ? '0' + minutes : minutes ) + ':' +
            ( ( seconds < 10 ) ? '0' + seconds : seconds );
    };
    ...
    
  3. toHHMMSS(displayFraction)
    Number.prototype.toHHMMSS = function (displayFraction) {
        var fraction = '';
        if (displayFraction === undefined) {
            displayFraction = false;
        var sec_num = parseInt(this, 10);
        if (displayFraction) {
            var fractionPart = this - sec_num;
            fraction = '.' + Math.ceil(((fractionPart < 1.0) ? fractionPart : (fractionPart % Math.floor(fractionPart))) * 1000)
    ...
    
  4. toMMSS()
    "use strict"
    Number.prototype.toMMSS = function () {
        const sec_num = parseInt(this, 10); 
        let minutes = Math.floor(sec_num / 60);
        let seconds = sec_num - (minutes * 60);
        if (minutes < 10) {minutes = "0"+minutes;}
        if (seconds < 10) {seconds = "0"+seconds;}
        return minutes+':'+seconds;
    Number.prototype.toSS = function () {
        const sec_num = parseInt(this, 10); 
        let seconds = sec_num;
        if (seconds < 0) {seconds = 0;}
        if (seconds < 10) {seconds = "0"+seconds;}
        return seconds;
    Array.prototype.shuffle = function(){
        let counter = this.length, temp, index;
        while (counter > 0) {
            index = (Math.random() * counter--) | 0;
            temp = this[counter];
            this[counter] = this[index];
            this[index] = temp;
    };
    String.prototype.trunc = function(n) {
        return this.substr(0,n-1)+(this.length>n?'...':'');
    };
    
  5. toMMSS()
    Number.prototype.toMMSS = function () {
        var minutes = Math.floor(this / 60),
          seconds = this - (minutes * 60);
        if (minutes < 10) {minutes = '0' + minutes;}
        if (seconds < 10) {seconds = '0' + seconds;}
        return minutes + ':' + seconds;
    
  6. toTime()
    Number.prototype.toTime = function() {
      if (this < 10) {
        return '0' + this;
      } else {
        return this + '';
    
  7. 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 );
    };
    ...
    
  8. 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;
    ...
    
  9. 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;