new Date两个实用小方法,即获取最近几天及某段时间内的所有天数

js Date 对象用于处理日期和时间的,Date 对象会自动把当前日期和时间保存为其初始值,即console.log(new Date()) // 

VM108:1 Tue Jun 04 2019 21:14:48 GMT+0800 (中国标准时间)

经常使用的方法有:

getDate() :从 Date 对象返回一个月中的某一天 (1 ~ 31)

getDay():从 Date 对象返回一周中的某一天 (0 ~ 6)

getMonth() :从 Date 对象返回月份 (0 ~ 11)

getFullYear():从 Date 对象以四位数字返回年份

getHours(): 返回 Date 对象的小时 (0 ~ 23)

getMinutes(): 返回 Date 对象的分钟 (0 ~ 59)

getSeconds():返回 Date 对象的秒数 (0 ~ 59)

setDate():设置 Date 对象中月的某一天 (1 ~ 31)

setMonth():设置 Date 对象中月份 (0 ~ 11)

setFullYear(): 设置 Date 对象中的年份(四位数字)

今天使用到的两个小方法也是基于此的

// 获取某个时间段中的所有日期

  getYmdOfDateRange (start, end) {

    let dateAll = []

    let i = 0

    let startDate = new Date(start)

    let endDate = new Date(end)

    while ((endDate.getTime() - startDate.getTime() >= 0)) {

      let y = startDate.getFullYear()

      let m = (startDate.getMonth() + 1).toString().length === 1 ? '0' + (startDate.getMonth() + 1).toString() : (startDate.getMonth() + 1).toString()

      let d = (startDate.getDate().toString()).length === 1 ? '0' + startDate.getDate().toString() : startDate.getDate().toString()

      dateAll[i] = y + '-' + m + '-' + d

      startDate.setDate(startDate.getDate() + 1)

      i += 1

    }

    return dateAll

  },

  // 获取最近几天

  getRecentDate (num) {

    let day = num || 30

    let curDateStamp = new Date().getTime()

    let recentDateStamp = day * 24 * 60 * 60 * 1000

    let prevDate = new Date(curDateStamp - recentDateStamp)

    let formatDate = prevDate.getFullYear() + '-' + ((prevDate.getMonth() + 1).toString().length === 1 ? '0' + (prevDate.getMonth() + 1).toString() : (prevDate.getMonth() + 1).toString()) + '-' + (prevDate.getDate().toString().length === 1 ? '0' + prevDate.getDate().toString() : prevDate.getDate().toString())

    return formatDate

  },

你可能感兴趣的:(new Date两个实用小方法,即获取最近几天及某段时间内的所有天数)