一、时间转时间戳:
1、JavaScrip获取当前时间的时间戳:
第一种方法:
var timestamp = Date.parse(new Date());//timestamp的结果是1537944187000
第二种方法:
var timestamp2 = (new Date()).valueOf();//timestamp2的结果是1537944187568
第三种方法:
var timestamp3 = new Date().getTime();//timestamp3的结果是1537944187568
总结:上面三种获取的都是从1970年1月1日零点开始的毫秒数。第一种方法的毫秒数为零,即只精确到秒,而第二种和第三种方法精确到了毫秒。
2、JQuery获取当前时间的时间戳:(别忘了引用jquery.js文件哦)
var timestamp4 = $.now();//timestamp4的结果是1537944187568
3、指定日期转时间戳:
第一种方法:
var timestamp5 = Date.parse(new Date('2017/11/11 0:0:0'));//timestamp5结果是1510329600000
第二种方法:
var timestamp6 = Date.parse(new Date(2017,10,11,0,0,0));//timestamp6结果是1510329600000
第三种方法:
var timestamp7 = Date.parse(new Date('2017-11-11 00:00:00'));//此方法不兼容ios版本,
//如果想要用"2017-10-10"的字符串格式,可以用正则转换一下:
var timestamp7 = Date.parse(new Date(('2017-11-11 00:00:00').replace(/-/g, '/')));
//timestamp7结果是1510329600000
4、得到上个月最后一天最后一秒的时间戳:
var date = new Date();
date.setDate(0); //date.setDate(0)会让日期变成前一个月的最后一天
date.setHours(23);
date.setMinutes(59);
date.setSeconds(59);
console.log(Date.parse(date));//今天是2018-09-26,所以得到的是2018-08-31 23:59:59的时间戳:1535731199000
二、时间戳转时间字符串
1、通过分别获取时间的年月日时分秒进行拼接:
function getTimeStr(timeStamp) {
var now = new Date(timeStamp),
y = now.getFullYear(),
m = ("0" + (now.getMonth() + 1)).slice(-2),
d = ("0" + now.getDate()).slice(-2);
return y + "-" + m + "-" + d + " " + now.toTimeString().substr(0, 8);
}
console.log(getTimeStr(1510329600000));//输出结果2017-11-11 00:00:00
function getTimeStr1(timeStamp) {
var now = new Date(timeStamp),
y = now.getFullYear(),
m = ("0" + (now.getMonth() + 1)).slice(-2),
d = ("0" + now.getDate()).slice(-2),
hh = ("0" + now.getHours()).slice(-2),
mm = ("0" + now.getMinutes()).slice(-2),
ss = ("0" + now.getSeconds()).slice(-2);
return y + "-" + m + "-" + d + " " + hh + ':' + mm + ":" + ss;
}
console.log(getTimeStr1(1704769286000));//输出结果2024-01-09 11:01:26
上面代码中的slice方法,不懂的可以参考下面的链接:JavaScript String slice() 方法
2、用 day.js 进行转换:
引入:
使用:其中value是时间戳。