刚开始先讲一下注意点:
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