JS时间戳如何转换为时间格式?

时间:2021-09-21 02:38:55

js时间戳怎么转成日期格式呢?这个方法有很多种,小晴在这里推荐几种!

第一种格式为:2017年05月17日 10:11

<script>     
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
}
console.log(getLocalTime(1494987099
));
</script>

第二种格式为:2017/5/17 上午10:11

function getLocalTime(nS) {     
return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17)}
console.log(getLocalTime(
1494987099));

第三种格式为:2017/5/17 上午10:11:39

function getLocalTime(nS) {     
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
}
console.log(getLocalTime(
1494987099));

第四种格式为:2017.05.26 16:23:22   当然我们如果想要其他格式,比如2017-05-26 16:23:22、2017-05-26、05-06 16:23这样子,我们只需要更改下面这句话即可。

var time = year+"."+month+"."+date+" "+hour+":"+minutes+":"+second;

这种格式我们需要先将时间戳转换为日期格式
var time=1494987099;
var times=dateToStr(new Date(time*1000));//或者var times=formatDateTime(new Date(time*1000));
 
//转换日期
function dateToStr(datetime){
var year = datetime.getFullYear();
var month = datetime.getMonth()+1;//js从0开始取
var date = datetime.getDate();
var hour = datetime.getHours();
var minutes = datetime.getMinutes();
var second = datetime.getSeconds();
if(month<10){month = "0" + month;}
if(date<10){date = "0" + date;}
if(hour <10){hour = "0" + hour;}
if(minutes <10){ minutes = "0" + minutes;}
if(second <10){second = "0" + second ;}
var time = year+"."+month+"."+date+" "+hour+":"+minutes+":"+second; // 2017.05.26 16:23:22
return time;
}

当然也可以这样写

var formatDateTime = function (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
m
= m < 10 ? ('0' + m) : m;
var d = date.getDate();
d
= d < 10 ? ('0' + d) : d;
var h = date.getHours();
var minute = date.getMinutes();
minute
= minute < 10 ? ('0' + minute) : minute;
return y + '-' + m + '-' + d+' '+h+':'+minute;
};

大家可以根据自己所需更改就可以了,调用时只需要 formatDateTime (时间即可);