Format Time

Format time in milli seconds to 24 hr format.

by codeinfront

HTML

<div id="output"></div>

CSS

#output{color:#999;font:normal 64px/1.5em 'Courier New', Courier, monospace}
#output span{padding:0 0.1em}

JavaScript

YUI().use('node', function (Y) {

    var n = Y.one('#output');
    
    // convert milliseconds to date format 01:17:07
    // o = daylight savings offset
    var getTimeFromMillis = function( ms ) {
        var o = ( new Date(2004, 6, 1).getTimezoneOffset() -
                  new Date(2004, 0, 1).getTimezoneOffset()) * 1000 * 60,
            d = ( Date.parse( ms ) - o ) / 1000,
            s = ~~( d % 60 ),
            m = ~~( ( d / 60 ) % 60 ),
            h = ~~( ( d / ( 60 * 60 ) ) % 12 ),
            p = function ( n ) {
                return n < 10 ? '0' + n : n;
            };
        
        h = h === 0 && new Date(ms).getHours() === 12 ? 
            h + 12 : h;
    
        return p( h ) + '<span>:</span>' + 
            p( m ) + '<span>:</span>' + p( s );

    };
           
    setInterval(function () {
        
        var d = new Date();

        n.set('innerHTML',
              getTimeFromMillis(d));

    }, 100);    
    
});