JAVASCRIPT
VUE
REACT
NODE
ES6
TYPESCRIPT

Js时间处理

2021. 02. 22    

js时间处理

function patch(s) {
  return s < 10 ? '0' + s : s
}
function addDate({str, dataUnit, num=0} ) {
  const date = new Date(str).getTime()
  let dataNum = 0;
  let oneDay = 1000 * 60 * 60 * 24;
  switch (dataUnit) {
    case 'month':
      dataNum = oneDay * (30 * num)
      break;
    case 'week':
      dataNum = oneDay * (7 * num)
      break;
    default:
      dataNum = oneDay * num
  }
  return toYmdhms(dataNum+date)
}
//标准时间转
function toYmdhms(str) {
  const date = new Date(str)
  const resDate = date.getFullYear() + '-' + patch((date.getMonth() + 1)) + '-' + patch(date.getDate())
  const resTime = patch(date.getHours()) + ':' + patch(date.getMinutes()) + ':' + patch(date.getSeconds())
  return resDate + ' ' + resTime
}
console.log(addDate({str:'Mon Feb 22 2021 16:46:59 GMT+0800 (中国标准时间)',dataUnit:"week",num:1}))
console.log(addDate({str:'Mon Feb 22 2021 16:46:59 GMT+0800 (中国标准时间)',num:1}))
console.log(addDate({str:'Mon Feb 22 2021 16:46:59 GMT+0800 (中国标准时间)'}))
//2021-03-01 16:46:59
//2021-02-23 16:46:59
//2021-02-22 16:46:59