今天给你讲的有3个内容
1.js获取当前时间
2.js时间戳转换为日期格式
3.封装
js获取当前时间
<div>当前时间:{{time}}</div>
// 直接调用获取,返回的就是当前时间
this.time = this.formatDate()
formatDate(dateTime ) {
var dateTime = new Date();
var year = dateTime.getFullYear(); ///取得4位数的年份
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 ;
}
return year+"-"+month+"-"+date+" "+hour+":"+minutes+":"+second; //当前时间
},
这就是结果
js时间戳转换为日期格式
这个在第一个的基础扩展
- 可以直接获取时间戳 var time = new Date().getTime(); 或者直接传入时间戳
- 调用 this.time =this.formatDate(new Date(time))
注意 把这个formatDate方法中的var dateTime = new Date();去掉
日期格式转时间戳
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
封装
- 1
const formatDate = function(fmt,date){
let ret;
if(!date){
date = new Date()
}
let opt = {
"Y+":date.getFullYear().toString(),
"M+":(date.getMonth() + 1).toString(),
"D+":date.getDate().toString(),
"h+":date.getHours().toString(),
"m+":date.getMinutes().toString(),
"s+":date.getSeconds().toString()
}
for(var k in opt){
ret = new RegExp("("+ k +")").exec(fmt)
if(ret){
fmt = fmt.replace(ret[0], (ret[0].length == 1) ? (opt[k]) : (opt[k].padStart(ret[0].length, "0")))
}
}
return fmt
};
console.log(formatDate( "YYYY-MM-DD hh:mm:ss"))//调用
console.log(formatDate('YYYY-MM-DD'))//调用
console.log(formatDate("hh:mm:ss"))//调用
- 2
//格式化日期
function dateFormat(thisDate, fmt) {
var o = {
"M+": thisDate.getMonth() + 1,
"d+": thisDate.getDate(),
"h+": thisDate.getHours(),
"m+": thisDate.getMinutes(),
"s+": thisDate.getSeconds(),
"q+": Math.floor((thisDate.getMonth() + 3) / 3),
"S": thisDate.getMilliseconds()
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (thisDate.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
var Date=new Date();
console.log(dateFormat(Date, "yyyy-MM-dd hh:mm:ss"))//调用
console.log(dateFormat(Date, "yyyy-MM-dd"))//调用
console.log(dateFormat(Date, "hh:mm:ss"))//调用