时间戳与正常日期的转化

刚开始先讲一下注意点:

1.如果是uinx时间戳要乘于1000。比如php函数time()获得的时间戳就要乘于1000,才能带入以下公式

2.获取到的时间戳除于1000就可以获得unix的时间戳了,PHP为后台时可以传给他用

ok 下面就是代码了


我推荐第二种方法,所以一下只提供方法二的源码!想尝试方法一的自己打!



var time='1515056493';

var newtime=time*1000;//这里需要注意js时间戳精确到毫秒,所以要乘以1000后转换.

function gettime(t){

    var _time=new Date(t);

    var  year=_time.getFullYear();//2017

    var  month=_time.getMonth()+1;//7

    var  date=_time.getDate();//10

    var  hour=_time.getHours();//10

    var  minute=_time.getMinutes();//56

    var  second=_time.getSeconds();//15

    return  year+"年"+month+"月"+date+"日  "+hour+":"+minute+":"+second;

}     2018年06月19日   22:0:0 

console.log(gettime(newtime));

function timestampToTime(timestamp) {

        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000

        Y = date.getFullYear() + '-';

        M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';

        D = date.getDate() + ' ';

        h = date.getHours() + ':';

        m = date.getMinutes() + ':';

        s = date.getSeconds();

        return Y+M+D+h+m+s;

    }     

返回格式  2018-06-19 22:0:0 


 以下提供另一种日期格式的获取


与上面明显不同就是 有了上下午。可以根据自己的需要用不同的代码。

下面只提供第一种getTime()的方法:



function getTime(nS) {

    return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");     

}   

console.log(getTime(1515056493));

//输出 2018-1-4  下午5:01:33



到这就讲完了时间戳转化为日期的方法,下面就开始日期转时间戳的几种方法!又要叨叨,不知有几个人能坚持看到这句话的


下面直接上干货



//以下的日期转时间戳

var date = new Date('2017-11-23 18:55:49:123');

time1 = date.getTime(time);

console.log(time1);  //1511434549123

time2 = date.valueOf(time);

console.log(time2);

time3 = Date.parse(date);

console.log(time3); //1511434549000

//第一、第二种:会精确到毫秒

//第三种:只能精确到秒,毫秒将用0来代替



有没提到的方法,希望和大家完善这篇文章。

gitHub 路径  https://github.com/ChinaMGS/MyAppletree/tree/master/js

你可能感兴趣的:(时间戳与正常日期的转化)