时间计算总结

198 阅读1分钟
  1. 转换格式得到 年月日时分秒
transDate(date) {
    var dd = new Date(date)
    var y = dd.getFullYear()
    var m = (dd.getMonth() + 1).toString().padStart(2, '0') // 获取当前月份的日期
    var d = dd.getDate()
    var h = d.getHours().toString().padStart(2, '0')
    var m = d.getMinutes().toString().padStart(2, '0')
    var s = d.getSeconds().toString().padStart(2, '0')
    return `${y}${m}${d}${h} : ${m} : ${s}`
}
  1. 计算得到两个时间之间相隔 年月日时分秒
getTime(dateStr1, dataStr2) {
    var ms = new Date(dateStr1) - new Date(dataStr2)
    var days = parseInt(ms / (1000 * 60 * 60 * 24))
    var hours = parseInt((ms % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))
    var minutes = parseInt((ms % (1000 * 60 * 60)) / (1000 * 60))
    var seconds = parseInt((ms % (1000 * 60)) / (1000))
    return days + '天' + hours + '小时' + minutes + '分' + seconds + '秒'
}
  1. 计算距离当前日期的 年月日: 使用场景:比如一直具体的日期,需要知道这个日期之后10天的日期,或者10天之前的日期
getDateStr(dataStr, AddDayCount) {
    var dd = new Date(dataStr)
    dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期
    var y = dd.getFullYear()
    var m = (dd.getMonth() + 1).toString().padStart(2, '0') // 获取当前月份的日期
    var d = dd.getDate().toString().padStart(2, '0')
    return y + '-' + m + '-' + d
}
  1. 计算传参时间是星期几
getWeek(dataStr) {
    var week = undefined
    var d = new Date(dataStr).getDay()
    var data = [{ '0': '星期日' }, { '1': '星期一' }, { '2': '星期二' }, { '3': '星期三' }, { '4': '星期四' }, { '5': '星期五' }, { '6': '星期六' }]
    // 遍历获取数组里面的对象
    for (var i = 0; i < data.length; i++) {
      // 再次遍历对象,将对象里面的value取出来
      for (var x in data[i]) {
        if (d === i) {
          week = data[i][x]
        }
      }
    }
    return week
  }