一:时间转换成时间戳
//获取时间
let date = new Date();
console.log(date);
//输出:Mon Oct 09 2017 14:07:47 GMT+0800 (中国标准时间)
转换:四种方法(不推荐第一种方法,因为毫秒级别会被转化为000)
let date1 = Date.parse(date);//毫秒级别的数值被转化为000
console.log(date1);
//输出:1507529267000
let date2 = date.valueOf();//通过valueOf()函数返回指定对象的原始值获得准确的时间戳值
console.log(date2);
//输出:1507529267648
let date3 = date.getTime();//通过原型方法直接获得当前时间的毫秒值,准确
console.log(date3);
//输出:1507529267648
let date4 = Number(date);//将时间转化为一个number类型的数值,即时间戳
console.log(date4);
//输出:1507529267648
时间转换为带格式的时间
格式:yyyy-mm-dd
function formatDate(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;
return y + '-' + m + '-' + d;//这里可以写格式
//输出:2017-10-9
}
格式:yyyy-mm-dd hh:mm:ss
function formatDateTime(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();
h=h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
minute = minute < 10 ? ('0' + minute) : minute;
var second=date.getSeconds();
second=second < 10 ? ('0' + second) : second;
return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
};
//输出:2017-10-09 14:21:01
三:时间戳转换为带格式的时间
let date5 = new Date(date);//直接用 new Date(时间戳) 格式转化获得时间
console.log(date5);
formatDate(date5);//直接调用上方的方法
四:时间格式字符串转为时间戳(毫秒)
let time1='2017-10-09 17:22:37';
let dateM=new Date(time1.replace(/-/g, '/')); //开始时间
let time2=dateM.getTime();
console.log(time2);
//输出:1451640157000