2018-02-13js 时间戳与日期格式的相互转换,js 将时间戳转换成日期格式,js 将日期格式转换成时间戳

您现在的位置是: 首页 > WEB前端 > js 时间戳与日期格式的相互转换,js 将时间戳转换成日期格式,js 将日期格式转换成时间戳

381次阅读


一、将日期格式转换成时间戳


var timestamp1 = Date.parse(new Date());    // 不推荐这种办法,毫秒级别的数值被转化为000
var timestamp2 = (new Date()).valueOf();    // 通过valueOf()函数返回指定对象的原始值获得准确的时间戳值
var timestamp3 = new Date().getTime();      // 通过原型方法直接获得当前时间的毫秒值,准确
var timestamp4 = Number(new Date());        // 时间转化为一个number类型的数值,即时间戳


console.log(timestamp1);
console.log(timestamp2);
console.log(timestamp3);
console.log(timestamp4);


F12下,在控制台打印如下

2.png



二、将时间戳转换成日期格式


<script>

    function timestampToTime(timestamp) {

        var date = 0;
        // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
        if(timestamp.toString().length==10){
            date = new Date(timestamp * 1000);
        }else{
            date = new Date(timestamp);
        }

        Y = date.getFullYear() + '-';
        M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        D = (date.getDate() < 10 ? '0'+(date.getDate()) : date.getDate()) + ' ';
        h = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':';
        m = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':';
        s = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds());
        return Y+M+D+h+m+s;
    }


    console.log(timestampToTime(1518498595000));    //2018-02-13 13:09:55
    console.log(timestampToTime(1518498595));       //2018-02-13 13:09:55
    
</script>


三、注意点


注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。


四、也可以通过下面获取当前时间格式的时间


// 也可以传时间,即把下面的new Date()传时间戳
function getDate() {
    var now = new Date(),
         y = now.getFullYear(),
         m = now.getMonth() + 1,
         d = now.getDate();
    return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
}