Convert UNIX Time to mm/dd/yy hh:mm (24 hour) in JavaScript
I have been using
timeStamp = new Date(unixTime*1000);
document.write(timeStamp.toString());
And it will output for example:
Tue Jul 6 08:47:00 CDT 2010
//24 hour time
Screen real estate is prime, so I would like to take up less space with the date and output:
mm/dd/yy hh:mm
//also 24 hour time
Just add an extra method to the Date
object, so you can reuse it as much as you want. First, we need to define a helper function, String.padLeft
:
String.prototype.padLeft = function (length, character) {
return new Array(length - this.length + 1).join(character || ' ') + this;
};
After this, we define Date.toFormattedString
:
Date.prototype.toFormattedString = function () {
return [String(this.getMonth()+1).padLeft(2, '0'),
String(this.getDate()).padLeft(2, '0'),
String(this.getFullYear()).substr(2, 2)].join("/") + " " +
[String(this.getHours()).padLeft(2, '0'),
String(this.getMinutes()).padLeft(2, '0')].join(":");
};
Now you can simply use this method like any other method of the Date
object:
var timeStamp = new Date(unixTime*1000);
document.write(timeStamp.toFormattedString());
But please bear in mind that this kind of formatting can be confusing. Eg, when issuing
new Date().toFormattedString()
the function returns 07/06/10 22:05
at the moment. For me, this is more like June 7th than July 6th.
EDIT: This only works if the year can be represented using a four-digit number. After December 31st, 9999, this will malfunction and you'll have to adjust the code.
链接地址: http://www.djcxy.com/p/94028.html