将unix时间转换为日期对象

时间:2012-11-15 17:18:15

标签: javascript date unix-timestamp

我有unix time,需要从中获取Date个对象。 此代码只是将时间戳转换为人类可读的方式:

var date = new Date(unix_timestamp*1000);
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var formattedTime = hours + ':' + minutes + ':' + seconds;

因此,我得到了13:44:6 但是如何创建一个带有时间和日期的Date对象呢?

2 个答案:

答案 0 :(得分:0)

你可以看看date.js

http://www.datejs.com/

var datestr = "13:44:06";
var date = Date.parse(datestr,"hh:mm:ss");
alert(date);

这会将日期字符串设置为今天的日期,但会以datetr为时间。

注意为了实现这一点,我需要对秒进行零填充。

修改

date.js格式说明符的链接有点埋没,所以如果你需要它就是这个链接:

http://code.google.com/p/datejs/wiki/FormatSpecifiers

答案 1 :(得分:0)

我为日期对象编写了一个原型函数,将unix时间戳转换为 YYYYMMDD

您可以根据需要进行编辑

var bd = new Date(unix_timestamp * 1000);
bd = bd.toYYYYMMDD();
// 1970-01-01

if ( !Date.prototype.toYYYYMMDD ) {
    ( function() {
        function pad(number) {
            var r = String(number);
            if ( r.length === 1 ) {
                r = '0' + r;
            }
            return r;
        }
        Date.prototype.toYYYYMMDD = function() {
            if(!this.getUTCDate() || this.getUTCDate() === 'NaN')
                return '1970-01-01';
            return this.getUTCFullYear()
            + '-' + pad( this.getUTCMonth() + 1 )
            + '-' + pad( this.getUTCDate() );
        };   
    }() );
};