开发者

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:4开发者_如何学Python7: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. E.g., 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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜