safari浏览器中使用new Date转换日期格式时(字符串格式转换成格林日期),只能识别‘/’,所以yyyy-mm-dd格式的要先转换成yyyy/mm/dd格式才能转换成功。
复习js日期转换:
一 格林日期与时间戳互相转换
二 格林日期与字符串互相转换
三 时间戳和字符串互相转换
1.时间戳转字符串
function
formatDate(timestamp) {
var
date =
new
Date(timestamp * 1000);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var
Y = date.getFullYear() +
'-'
;
var
M = (date.getMonth()+1 < 10 ?
'0'
+(date.getMonth()+1) : date.getMonth()+1) +
'-'
;
var
D = date.getDate() +
' '
;
var
h = date.getHours() +
':'
;
var
m = date.getMinutes() +
':'
;
var
s = date.getSeconds();
return
Y+M+D+h+m+s;
}
formatDate(时间戳);
console.log(
formatDate(
时间));//2019-03-19 14:22:22
2.字符串转时间戳
var
date =
new
Date(
'2014-04-23 18:55:49:123'
);
// 有三种方式获取
var
time1 = date.getTime();
var
time2 = date.valueOf();
var
time3 = Date.parse(date);
console.log(time1);
//1398250549123
console.log(time2);
//1398250549123
console.log(time3);
//1398250549000
以上三种获取方式的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒用000替代