这些方法都没有提取和封装,每一个都是完整的逻辑+注释,确保即使是新人也能看懂。
// 快捷时间方法 获取: 上月, 本月, 上周, 本周, 昨天, 今天 的开始时间和结束时间
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]
}
}
}