js时间戳与日期格式的相互转化

370 阅读1分钟

1将时间戳转化位日期格式

 function timestampToTime(timestamp) {
        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var Y = date.getFullYear() + '-';
        var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        var D = date.getDate() + ' ';
        var h = date.getHours() + ':';
        var m = date.getMinutes() + ':';
        var s = date.getSeconds();
        return Y+M+D+h+m+s;
    }
    timestampToTime(1403058804);
    console.log(timestampToTime(1403058804));//2014-06-18 10:33:24

2 将日期格式转化为时间戳

    var date = new Date('2014-04-23 18:55:49:123');
    // 有三种方式获取
    var time1 = date.getTime();
    var time2 = date.valueOf();
    var time3 = Date.parse(date);
    console.log(time1);//1398250549123
    console.log(time2);//1398250549123
    console.log(time3);//1398250549000

第一种,第二种方法会精确到毫秒,第三中只能精确到秒,毫秒用000,代替

以上输出的三个结果可观察其区别

注意:获取到的时间搓除以1000就可以得到吗Unix时间搓。10位的是秒时间搓,13位的是毫秒时间搓!