JS 常见的日期格式处理

今天/昨天/本周的起止日期/上周的起止日期/本月的起止日期/上月的起止日期

var now = new Date() // 当前日期
var nowDayOfWeek = now.getDay() - 1 // 今天本周的第几天
var nowDay = now.getDate() // 当前日
var nowMonth = now.getMonth() // 当前月
var nowYear = now.getFullYear()// 当前年
// nowYear += (nowYear < 2000) ? 1900 : 0
var lastMonthDate = new Date() // 上月日期
lastMonthDate.setDate(1)
lastMonthDate.setMonth(lastMonthDate.getMonth() - 1)
// var lastYear = lastMonthDate.getYear()
var lastMonth = lastMonthDate.getMonth()


格式化日期

export function formatDate (date) {
 var myyear = date.getFullYear()
 var mymonth = date.getMonth() + 1
 var myweekday = date.getDate()
 if (mymonth < 10) {
   mymonth = '0' + mymonth
 }
 if (myweekday < 10) {
   myweekday = '0' + myweekday
 }
 // console.log(date)
 return (myyear + '-' + mymonth + '-' + myweekday)
}

获得某月的天数

export function getMonthDays(myMonth) {
 var monthStartDate = new Date(nowYear, myMonth, 1)
 var monthEndDate = new Date(nowYear, myMonth + 1, 1)
 var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24)
 return days
}

获得本周的开始日期

export function getWeekStartDate() {
 var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek)
 // console.log()
 return formatDate(weekStartDate)
}

获得本周的结束日期

export function getWeekEndDate() {
 var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek))
 return formatDate(weekEndDate)
}

获得上周的开始日期

export function getLastWeekStartDate() {
 var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7)
 return formatDate(weekStartDate)
}

获得上周的结束日期

export function getLastWeekEndDate() {
 var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1)
 return formatDate(weekEndDate)
}

获得本月的开始日期

export function getMonthStartDate() {
 var monthStartDate = new Date(nowYear, nowMonth, 1)
 return formatDate(monthStartDate)
}

获得本月的结束日期

export function getMonthEndDate() {
 var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth))
 return formatDate(monthEndDate)
}

获得上月开始时间

export function getLastMonthStartDate() {
 if (lastMonth === 11) {
   var lastMonthStartDate = new Date(nowYear - 1, lastMonth, 1)
 } else {
   lastMonthStartDate = new Date(nowYear, lastMonth, 1)
 }
 return formatDate(lastMonthStartDate)
}

获得上月结束时间

export function getLastMonthEndDate() {
 if (lastMonth === 11) {
   var lastMonthEndDate = new Date(nowYear - 1, lastMonth, getMonthDays(lastMonth))
 } else {
   lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth))
 }
 return formatDate(lastMonthEndDate)
}

作者:苗本尊
链接:https://juejin.im/post/5bf273f7f265da614d08c812
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(JS 常见的日期格式处理)