js怎么把unix毫秒数转化为具体的Date啊

比如说这个数字1371466996.385926,它就是1970年1月1日到2013年某个时刻所经历的毫秒数。还有转化后的Date是不是格林威治时间,还需要转化成北京时间?

js 中把 unix 时间戳转换为 Date 很简单,可以有两种方式:


1、新建一个日期对象并把时间戳作为参数传进去就可以了:

var timestamp = 1371466996.385926;
var date = new Date(timestamp * 1000); // js 中是以毫秒为单位要乘以 1000

2、对于已经存在的日期对象,调用 setTime 方法设置时间戳:

var date = new Date();
var timestamp = 1371466996.385926;
date.setTime(timestamp * 1000); // js 中是以毫秒为单位要乘以 1000

对于格林威治时间和本地时间, js 提供了不同方法(toGMTString(), toUTCString(), toLocaleString())输出,在需要格式化为字符串的时候调用不同方法就可以了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-30
function  formatDate(objD)   {
    var str,colorhead,colorfoot;
    var yy = objD.getYear();
    if(yy<1900) yy = yy+1900;
    var MM = objD.getMonth()+1;
    if(MM<10) MM = '0' + MM;
    var dd = objD.getDate();
    if(dd<10) dd = '0' + dd;
    var hh = objD.getHours();
    if(hh<10) hh = '0' + hh;
    var mm = objD.getMinutes();
    if(mm<10) mm = '0' + mm;
    var ss = objD.getSeconds();
    if(ss<10) ss = '0' + ss;
    str =  yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
    return(str);
}
formatDate(new Date());

第2个回答  2013-05-21
var timeStamp = 1371466996.385926;
var time = new Date(timeStamp * 1000);    // 得到当地时间

本回答被提问者采纳
相似回答