new Date():用当前日期和时间创建新的日期对象
目录
2、在mouted中挂载数据以及在beforeDestroy中销毁定时器
效果
2022年07月12日 星期二 17:19:29
一、new Date()
在vue2中使用new Date() 转换为年月日时分秒以及星期几(padStart补零)
二、使用步骤
1、data中声明定时器以及在methods中的方法
代码如下(示例):
data() {
return {
dateTimer: null,
nowTime: ''
};
},
methods: {
timeFormate (timeStamp) {
let date = new Date(timeStamp)
let y = date.getFullYear().toString();
let M = (date.getMonth() + 1).toString().padStart(2, '0');
let d = date.getDate().toString().padStart(2, '0');
let h = date.getHours().toString().padStart(2, '0');
let m = date.getMinutes().toString().padStart(2, '0');
let s = date.getSeconds().toString().padStart(2, '0');
let w = date.getDay().toString();
let week: { [key: string]: string } = {
'0': '日',
'1': '一',
'2': '二',
'3': '三',
'4': '四',
'5': '五',
'6': '六',
};
w = week[w];
this.nowTime = `${y}年${M}月${d}日 星期${w} ${h}:${m}:${s}`
},
nowTimes () {
this.timeFormate(new Date())
this.dateTimer = setInterval(() => {
this.timeFormate(new Date());
}, 1000)
},
}
2、在mouted中挂载数据以及在beforeDestroy中销毁定时器
代码如下(示例):
mouted () {
this.nowTimes()
},
beforeDestroy () {
if (this.dateTimer) {
clearInterval(this.dateTimer)
}
}
三、完整示例
<template>
<div>
<div>{{ nowTime }}</div>
</div>
</template>
<script>
export default {
data() {
return {
dateTimer: null,
nowTime: ''
};
},
methods: {
timeFormate (timeStamp) {
let date = new Date(timeStamp)
let y = date.getFullYear().toString();
let M = (date.getMonth() + 1).toString().padStart(2, '0');
let d = date.getDate().toString().padStart(2, '0');
let h = date.getHours().toString().padStart(2, '0');
let m = date.getMinutes().toString().padStart(2, '0');
let s = date.getSeconds().toString().padStart(2, '0');
let w = date.getDay().toString();
let week: { [key: string]: string } = {
'0': '日',
'1': '一',
'2': '二',
'3': '三',
'4': '四',
'5': '五',
'6': '六',
};
w = week[w];
this.nowTime = `${y}年${M}月${d}日 星期${w} ${h}:${m}:${s}`
},
nowTimes () {
this.timeFormate(new Date())
this.dateTimer = setInterval(this.timeFormate(new Date()), 1000)
},
},
mounted() {
this.nowTimes()
},
beforeDestory() {
this.dateTimer = null;
};
</script>