Basically, I receive raw timestamps and I need to format them into HH:MM:SS format.
views:
369answers:
3
+2
A:
I'll go with the assumption that you mean Unix timestamps:
var formatTime = function(unixTimestamp) {
var dt = new Date(unixTimestamp * 1000);
var hours = dt.getHours();
var minutes = dt.getMinutes();
var seconds = dt.getSeconds();
// the above dt.get...() functions return a single digit
// so I prepend the zero here when needed
if (hours < 10)
hours = '0' + hours;
if (minutes < 10)
minutes = '0' + minutes;
if (seconds < 10)
seconds = '0' + seconds;
return hours + ":" + minutes + ":" + seconds;
}
var formattedTime = formatTime(1266272460);
document.write(formattedTime);
JonathanK
2010-02-23 01:05:08
Thanks for the answer, actually I meant Javascript timestamps. javascript timestamp = unix timestamps * 1000because javascript timestamp is the number of ms since Jan 1 1970 00:00:00 UTC
rmk
2010-02-23 01:17:58
A:
This will display the current time in the format you asked for HH:MM:SS
function dostuff() { var item = new Date(); alert(item.toTimeString()); }
kaelle
2010-02-23 01:08:19
A:
Here's a function that provides flexible formatting of a date in UTC. It accepts a format string similar to that of Java's SimpleDateFormat:
function formatDate(date, fmt) {
function pad(value) {
return (value.toString().length < 2) ? '0' + value : value;
}
return fmt.replace(/%([a-zA-Z])/g, function (_, fmtCode) {
switch (fmtCode) {
case 'Y':
return date.getUTCFullYear();
case 'M':
return pad(date.getUTCMonth() + 1);
case 'd':
return pad(date.getUTCDate());
case 'H':
return pad(date.getUTCHours());
case 'm':
return pad(date.getUTCMinutes());
case 's':
return pad(date.getUTCSeconds());
default:
throw new Error('Unsupported format code: ' + fmtCode);
}
});
}
You could use it like this:
formatDate(new Date(timestamp), '%H:%m:%s');
harto
2010-02-23 01:38:00