Как то так?
var fraction = 14.5;
var hours = Math.floor(fraction); // extract the hours (in 24 hour format)
var mins = 60 * (fraction - hours); // calculate the minutes
t = new Date(); // create a date/time object
t.setHours(hours); // set the hours
t.setMinutes(mins); // set the mins
alert(t.toTimeString()); //show it
или полностью ручная
var fraction = 14.5;
var hours = Math.floor(fraction);
var mins = 60 * (fraction - hours);
var ampm = ((fraction%24)<12)?'am':'pm';
formatted = ('0' + hours%12).substr(-2) + ':' + ('0' + mins).substr(-2) + ':00 ' + ampm;
alert(formatted );
Обновление
И версия с секундами.
var fraction = 14.33;
var hours = Math.floor(fraction);
var allseconds = 3600 * (fraction - hours);
var minutes = Math.floor(allseconds / 60);
var seconds = Math.floor(allseconds%60);
var ampm = ((fraction%24)<12)?'am':'pm';
formatted = ('0' + hours%12).substr(-2) + ':' + ('0' + minutes ).substr(-2) + ':' + ('0' + seconds).substr(-2) +' ' + ampm;
alert(formatted );