美文网首页
JS 常见的日期格式处理

JS 常见的日期格式处理

作者: 太阳照常升起_9c4e | 来源:发表于2019-09-26 11:22 被阅读0次

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

    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 常见的日期格式处理

          本文链接:https://www.haomeiwen.com/subject/csbguctx.html