JS 获取前七天,上周,上个月时间

timeCheck() {
      let startDateTime = ''
      let endDateTime = ''
      if (this.searchForm.day === '0') {
        // 七天前时间
        let myDate = new Date()
        endDateTime = dataUtil.formatTime(myDate)
        startDateTime = dataUtil.formatTime(
          myDate.setTime(myDate.getTime() - 86400000 * 7)
        )
      } else if (this.searchForm.day === '1') {
        // 获取上周时间
        let myDate = new Date(new Date().getTime() - 7 * 24 * 3600 * 1000)
        let day = myDate.getDay()
        let time = myDate.getDate() - day + (day === 0 ? -6 : 1)
        let startTime = new Date(myDate.setDate(time))
        startDateTime =
          startTime.getFullYear() +
          '-' +
          (startTime.getMonth() + 1) +
          '-' +
          startTime.getDate()
        let endTime = new Date(myDate.setDate(time + 6))
        endDateTime =
          endTime.getFullYear() +
          '-' +
          (endTime.getMonth() + 1) +
          '-' +
          endTime.getDate()
      } else if (this.searchForm.day === '2') {
        // 获取上个月时间
        let nowdays = new Date()
        let year = nowdays.getFullYear()
        let month = nowdays.getMonth()
        if (month === 0) {
          month = 12
          year = year - 1
        }
        if (month < 10) {
          month = '0' + month
        }

        let yDate = new Date(year, month, 0)

        startDateTime = year + '-' + month + '-01 00:00:00' //上个月第一天
        endDateTime = year + '-' + month + '-' + yDate.getDate() + ' 23:59:59' //上个月最后一天
      } else if (this.searchForm.day === '3') {
        // 如果选择自定义时间
        if (this.searchForm.startDate) {
          startDateTime =
            this.searchForm.startDate[0].getFullYear() +
            '-' +
            (this.searchForm.startDate[0].getMonth() + 1) +
            '-' +
            this.searchForm.startDate[0].getDate() +
            ' 00:00:00'

          endDateTime =
            this.searchForm.startDate[1].getFullYear() +
            '-' +
            (this.searchForm.startDate[1].getMonth() + 1) +
            '-' +
            this.searchForm.startDate[1].getDate() +
            ' 23:59:59'
        }
      }
      let data = []
      data.push(startDateTime, endDateTime)
      return data
    },


//日期转字符串
function formatTime(time, format) {
  if (!time) {
    return ''
  }
  format = format || 'yyyy-MM-dd HH:mm:ss'
  let obj = {}
  let isN = typeof time === 'number'
  let isO = typeof time === 'object'
  let isD = time instanceof Date
  if (isN || isD) {
    if (isN) {
      time = new Date(time)
    }
    let h = time.getHours() % 12
    h = h && time.hours
    obj = {
      y: time.getFullYear(), // 年份,注意必须用getFullYear
      M: time.getMonth() + 1, // 月份,注意是从0-11
      d: time.getDate(), // 日期
      q: Math.floor((time.getMonth() + 3) / 3), // 季度
      w: time.getDay(), // 星期,注意是0-6
      H: time.getHours(), // 24小时制
      h: h, // 12小时制
      m: time.getMinutes(), // 分钟
      s: time.getSeconds(), // 秒
      S: time.getMilliseconds() // 毫秒
    }
  } else if (isO) {
    let h = time.hours % 12
    h = h && time.hours
    obj = {
      y: time.year + 1900,
      M: time.month + 1,
      d: time.date,
      w: time.day, // 星期,注意是0-6
      H: time.hours, // 24小时制
      h: h, // 12小时制
      m: time.minutes, // 分钟
      s: time.seconds, // 秒
      S: time.nanos // 毫秒
    }
  }

let  myDate = new Date();
以下都是在myDate的基础上得到的。同时也提供set方法。一般算时间利用毫秒更为精确且方便

myDate.getYear();        //获取当前年份(2位)
myDate.getFullYear();    //获取完整的年份(4位,1970-????)
myDate.getMonth();       //获取当前月份(0-11,0代表1月)
myDate.getDate();        //获取当前日(1-31)
myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();       //获取当前小时数(0-23)
myDate.getMinutes();     //获取当前分钟数(0-59)
myDate.getSeconds();     //获取当前秒数(0-59)
myDate.getMilliseconds();    //获取当前毫秒数(0-999)
myDate.toLocaleDateString();     //获取当前日期
var mytime=myDate.toLocaleTimeString();     //获取当前时间
myDate.toLocaleString( );        //获取日期与时间

 

日期时间脚本库方法列表

Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差

 

 

let data = []
data.unshift({
  label: '全部',
  value: ''
})
for (let i = 0; i < res.data.length; i++) {
  data.push({
    label: res.data[i].name,
    value: res.data[i].id
  })
}
dataUtil.overData(this.channelby, data)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值