时间戳转化为年、月、日、时、分、秒。

东拼西凑找到的,在这里总结一下,备用


1、时间戳转换为正常的年月日时分秒

function shijianc(time) {
      let date = new Date(time)
      let Y = date.getFullYear() + '-'
      let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
      let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
      let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'
      let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'
      let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
      return Y + M + D + h + m + s
    }
  • 获取当前日期的时间戳
        let now = new Date();
        let nowTime = now.getTime(); //获取当前日期的时间戳
        console.log(shijianc(nowTime), '当前日期是');
  • 获取几天后的日期
    根据当前时间戳加上几天后的时间戳,然后转换为正常的时间即可。
      // 获取七天后的时间戳
        let newTime = nowTime + 7 * 24 * 60 * 60 * 1000
        console.log(shijianc(newTime), '七天后的日期是');

在这里插入图片描述

2、时间戳分别转换为天,小时,分钟和秒

 format(time){
      let day = Math.floor(time/(1000*60*60*24))
      let hours = Math.floor((time/(1000*60*60))%24)
      let minutes = Math.floor((time/(1000*60))%60)
      let seconds = Math.floor((time/1000)%60)
      return day+'天'+hours+'小时'+minutes+'分钟'+seconds+'秒'
    },

3、2021-01-11T09:14:46.000+0000转换为正常年月日

  formatOrderTime(time){
      let data = time.substr(0, 19);
      let newDate = new Date(new Date(data.replace(/T/g, ' ').replace(/-/g, '/')).getTime() + 8 * 60 * 60 * 1000)

      let d = new Date(newDate);
      let datetime=d.getFullYear() + '/' + (d.getMonth() + 1) + '/' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
      return datetime
    }

4、出生日期转换为岁、月、天

  function formatDate(date) {
    let currentTime = new Date().getTime()
    let dateTime = (new Date(date)).getTime()
    let diff = currentTime - dateTime
    let day = Math.floor(diff / (1000 * 60 * 60 * 24))
    let year = Math.trunc(day / 365)
    let month = Math.trunc((day % 365) / 30)
    let remainDays = Math.trunc((day % 365) % 30)
    return year + '岁' + month + '个月' + remainDays + '天'
  }
  console.log(formatDate('2012-10-22'))

在这里插入图片描述


dayjs插件

  • 功能强大
 <script src="https://unpkg.com/[email protected]/dayjs.min.js"></script>

比如根据时间戳直接获取今天周几、几号……

			let now = new Date()

            // 获取当前的时间戳
            let time = now.getTime()

            // 周几 0-6
            let week = dayjs(time).day()

            // 几号
            let day = dayjs(time).date()

你可能感兴趣的:(js算法,javascript,时间戳,date)