1.将字符串转化成时间戳
//2019-06-11 16:18:15
function getDateFromString(str){
var reg = /^(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/;
var s = str.match(reg);
var result="";
if(s){
result = new Date(s[1],s[2] - 1,s[3],s[4],s[5],s[6]);
}
return result ;
}
//计算时间差
function period(){
var begin = getDateFromString("2019-06-11 16:18:15");
var end = getDateFromString("2019-06-13 16:18:15");
var result = (end - begin) / (1000 * 60 * 60 * 24); //计算天
result = result.toFixed(0);
return result;
}
console.log(period()); //2
2.将时间戳转化为时间格式字符串
function formatDate(timeStamp) {
var d = new Date(timeStamp); //创建一个指定的日期对象
return d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate() + " "+ d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
}
let timeStamp = new Date().getTime();
console.log(444,formatDate(timeStamp)); //"2020-9-16 20:58:51"
月份和日期前面补零方法:
ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
(d.getMonth()+1).toString().padStart(2,'0');