- 列举两个日期间的所有日期
举例:开始日期:2020-03-11 结束日期:2020-04-01, 列举出中间的日期,包括两头的日期。
getDate (datestr) {
let temp = datestr.split('-')
if (temp[1] === '01') {
temp[0] = parseInt(temp[0], 10) - 1
temp[1] = '12'
} else {
temp[1] = parseInt(temp[1], 10) - 1
}
// new Date()的月份入参实际都是当前值-1
let date = new Date(temp[0], temp[1], temp[2])
return date
},
getDiffDate (start, end) {
let startTime = this.getDate(start)
let endTime = this.getDate(end)
let dateArr = []
while ((endTime.getTime() - startTime.getTime()) >= 0) {
let year = startTime.getFullYear()
let month = (startTime.getMonth() + 1).toString().length === 1 ? '0' + (parseInt(startTime.getMonth().toString(), 10) + 1) : (startTime.getMonth() + 1)
let day = startTime.getDate().toString().length === 1 ? '0' + startTime.getDate() : startTime.getDate()
dateArr.push(year + '-' + month + '-' + day)
startTime.setDate(startTime.getDate() + 1)
}
return dateArr
},
- 倒计时
举例:给定一个时间 2020-03-31 11:50:00,实现倒计时
var countDownTimer = null, timeStr = ''
countDown() {
let time = '2020-03-31 11:50:00'
let endTime = new Date(time).getTime()
// console.log('endTime',endTime)
let nowTime = Date.now()
// 获取时间差
let diffTime = endTime - nowTime
if (diffTime <= 0) {
clearTimeout(countDownTimer)
return
}
// console.log('时间差',diffTime)
// 获取剩余的天数
let day = parseInt(diffTime / 1000 / 3600 / 24)
// console.log('day',day)
// 获取剩余的小时数
let hour = parseInt(diffTime / 1000 / 3600 % 24)
// console.log('hour',hour)
// 获取剩余的分钟数
let minute = parseInt(diffTime / 1000 / 60 % 60)
// console.log('minute',minute)
// 获取剩余的秒数
let second = parseInt(diffTime / 1000 % 60)
// console.log('second',second)
day = setNum(day)
hour = setNum(hour)
minute = setNum(minute)
second = setNum(second)
this.timeStr = `${day}天${hour}时${minute}分${second}秒`
if (day === '00') {
timeStr = `${hour}时${minute}分${second}秒`
}
if (day === '00' && hour === '00') {
timeStr = `${minute}分${second}秒`
}
if (day === '00' && hour === '00' && minute === '00') {
timeStr = `${second}秒`
}
// console.log('timeStr', this.timeStr)
countDownTimer = setTimeout(countDown, 1000)
}
setNum (num) {
if (num < 10) {
num = `0${num}`
}
return num
}
3、获取当前月的天数
let date = new Date()
let d = new Date(date.getFullYear(), date.getMonth() + 1, 0)
let currentMonthDays = d.getDate()