這些方法都沒有提取和封裝,每一個都是完整的邏輯+註釋,確保即使是新人也能看懂。
// 快捷時間方法 獲取: 上月, 本月, 上週, 本週, 昨天, 今天 的開始時間和結束時間
export default {
methods: {
// 時間方法: 前面加 0
changeTime(time) {
return time < 10 ? '0' + time : time
},
// 時間方法: 獲取當天的 開始時間, 結束時間
getTodayDate() {
let todayDate = new Date()
// 獲取當前時間的 年月日
let year = todayDate.getFullYear()
let month = todayDate.getMonth() + 1
let day = todayDate.getDate()
let YearMonthDay = year + '-' + this.changeTime(month) + '-' + this.changeTime(day)
// 獲取當天的 開始時間, 結束時間
let startTime = YearMonthDay + ' 00:00:00'
let endTime = YearMonthDay + ' 23:59:59'
return [startTime, endTime]
},
// 時間方法: 獲取昨天的 開始時間, 結束時間
getYesterdayDate() {
let todayDate = new Date()
// 獲取昨天的時間, 以及昨天的年月日
let yesterDay = new Date(todayDate.getTime() - 24 * 60 * 60 * 1000)
let year = yesterDay.getFullYear()
let month = yesterDay.getMonth() + 1
let day = yesterDay.getDate()
let YearMonthDay = year + '-' + this.changeTime(month) + '-' + this.changeTime(day)
// 獲取昨天的 開始時間, 結束時間
let startTime = YearMonthDay + ' 00:00:00'
let endTime = YearMonthDay + ' 23:59:59'
return [startTime, endTime]
},
// 時間方法: 獲取本週的 開始時間, 結束時間
getCurrentWeek() {
let todayDate = new Date()
// 獲取今天是本週的星期幾
let week = todayDate.getDay()
// 一天的毫秒數
let oneDay = 1000 * 60 * 60 * 24
// 週一到今天, 應該減去的天數
let minusDay = week !== 0 ? week - 1 : 6
// 本週 週一
let Monday = new Date(todayDate.getTime() - (minusDay * oneDay))
// 本週 週日
let Sunday = new Date(Monday.getTime() + (6 * oneDay))
// 本週 週一 的 年月日
let MondayYear = Monday.getFullYear()
let MondayMonth = Monday.getMonth() + 1
let MondayDay = Monday.getDate()
// 本週 週日 的 年月日
let SundayYear = Sunday.getFullYear()
let SundayMonth = Sunday.getMonth() + 1
let SundayDay = Sunday.getDate()
// 獲取本週的 開始時間, 結束時間
let startTime = MondayYear + '-' + this.changeTime(MondayMonth) + '-' + this.changeTime(MondayDay) + ' 00:00:00'
let endTime = SundayYear + '-' + this.changeTime(SundayMonth) + '-' + this.changeTime(SundayDay) + ' 23:59:59'
return [startTime, endTime]
},
// 時間方法: 獲取上週的 開始時間, 結束時間
getLastWeek() {
let todayDate = new Date()
// 獲取今天是本週的星期幾
let week = todayDate.getDay()
// 一天的毫秒數
let oneDay = 1000 * 60 * 60 * 24
// 週一到今天, 應該減去的天數
let minusDay = week !== 0 ? week - 1 : 6
// 本週 週一
let Monday = new Date(todayDate.getTime() - (minusDay * oneDay))
// 上週最後一天: 即本週開始的前一天
let lastSunday = new Date(Monday.getTime() - oneDay)
// 上週的第一天: 即上週一
let lastMonday = new Date(lastSunday.getTime() - (oneDay * 6))
// 上週 週一 的 年月日
let lastMondayYear = lastMonday.getFullYear()
let lastMondayMonth = lastMonday.getMonth() + 1
let lastMondayDay = lastMonday.getDate()
// 上週 週日 的 年月日
let lastSundayYear = lastSunday.getFullYear()
let lastSundayMonth = lastSunday.getMonth() + 1
let lastSundayDay = lastSunday.getDate()
// 獲取上週的 開始時間, 結束時間
let startTime = lastMondayYear + '-' + this.changeTime(lastMondayMonth) + '-' + this.changeTime(lastMondayDay) + ' 00:00:00'
let endTime = lastSundayYear + '-' + this.changeTime(lastSundayMonth) + '-' + this.changeTime(lastSundayDay) + ' 23:59:59'
return [startTime, endTime]
},
// 時間方法: 獲取本月的 開始時間, 結束時間
getCurrentMonth() {
let todayDate = new Date()
// 獲取當前年份
let currentYear = todayDate.getFullYear()
// 獲取當前月份: 注意是 0-11
let currentMonth = todayDate.getMonth()
// 獲取本月的第一天
let firstDay = new Date(currentYear, currentMonth, 1)
// 本月爲12月的時候, 則下個月年份需要加1, 月份需要爲0, 也就是下一年的第一個月
// 以便於獲取 下個月的第一天
if (currentMonth === 11) {
currentYear++
currentMonth = 0
} else {
currentMonth++
}
// 下個月的第一天
let nextMonthFirstDay = new Date(currentYear, currentMonth, 1)
// 一天的毫秒數
let oneDay = 1000 * 60 * 60 * 24
// 獲取本月的最後一天
let lastDay = new Date(nextMonthFirstDay.getTime() - oneDay)
// 本月第一天 的 年月日
let firstDayYear = firstDay.getFullYear()
let firstDayMonth = firstDay.getMonth() + 1
let firstDayDay = firstDay.getDate()
// 本月最後一天 的 年月日
let lastDayYear = lastDay.getFullYear()
let lastDayMonth = lastDay.getMonth() + 1
let lastDayDay = lastDay.getDate()
// 獲取本月的 開始時間, 結束時間
let startTime = firstDayYear + '-' + this.changeTime(firstDayMonth) + '-' + this.changeTime(firstDayDay) + ' 00:00:00'
let endTime = lastDayYear + '-' + this.changeTime(lastDayMonth) + '-' + this.changeTime(lastDayDay) + ' 23:59:59'
return [startTime, endTime]
},
// 時間方法: 獲取上月的 開始時間, 結束時間
getLastMonth() {
let todayDate = new Date()
// 獲取當前年份
let currentYear = todayDate.getFullYear()
// 獲取當前月份: 注意是 0-11
let currentMonth = todayDate.getMonth()
// 獲取本月的第一天
let firstDay = new Date(currentYear, currentMonth, 1)
// 一天的毫秒數
let oneDay = 1000 * 60 * 60 * 24
// 獲取上個月的最後一天
let lastMonthLastDay = new Date(firstDay.getTime() - oneDay)
// 月份爲0是本年的第一月, 上個月則是去年的12月
if (currentMonth === 0) {
currentYear--
currentMonth = 11
} else {
currentMonth--
}
// 獲取上個月的第一天
let lastMonthFirstDay = new Date(currentYear, currentMonth, 1)
// 上個月第一天 的 年月日
let firstDayYear = lastMonthFirstDay.getFullYear()
let firstDayMonth = lastMonthFirstDay.getMonth() + 1
let firstDayDay = lastMonthFirstDay.getDate()
// 上個月最後一天 的 年月日
let lastDayYear = lastMonthLastDay.getFullYear()
let lastDayMonth = lastMonthLastDay.getMonth() + 1
let lastDayDay = lastMonthLastDay.getDate()
// 獲取上個月的 開始時間, 結束時間
let startTime = firstDayYear + '-' + this.changeTime(firstDayMonth) + '-' + this.changeTime(firstDayDay) + ' 00:00:00'
let endTime = lastDayYear + '-' + this.changeTime(lastDayMonth) + '-' + this.changeTime(lastDayDay) + ' 23:59:59'
return [startTime, endTime]
}
}
}