js时间戳转换成日期

2019-07-12  本文已影响0人  smallzip

实现简单的时间戳转换,造一次轮子,后期复用省时省力。

// 转换时间戳
console.log(filterTime(new Date().getFullYear()));  // 1970-01-01 08:00:19
console.log(filterTime(Date.now()));  // 2019-07-12 11:18:26
console.log(filterTime(Date.now()/1000));  // 2019-07-12 11:18:26
console.log(filterTime('1562899318'));  // 2019-07-12 10:41:00
console.log(filterTime('1562899318000'));  // 2019-07-12 10:41:00
console.log(filterTime('2019-07-12 11:10:10'));  // 2019-07-12 11:10:00
console.log(filterTime('2019-7-1 1:9:10'));  // 2019-07-01 01:09:00
console.log(filterTime(Date.now(),'/'));  // 2019/07/12 11:18:26
console.log(filterTime(Date.now(),'-','/'));  // 2019-07-12 11/18/26



// 时间戳转换   
// 参数1:date  [转换的日期]
// 参数2:  spare  [年月日数间隔符]
// 参数3:timeSpare [时分秒间隔符]
function filterTime(date, spare = '-', timeSpare = ':') {
      // 补零
      function fix(i) {
        typeof i !== 'number' ? i = parseInt(i):null
        return i < 10 ? `0${i}` : i
      }
      // 生成时间
      function time(t, spare = '-', timeSpare = ':') {
        let [y, m, d, h, mi, ms] = [
          new Date(t).getFullYear(),
          new Date(t).getMonth() + 1,
          new Date(t).getDate(),
          new Date(t).getHours(),
          new Date(t).getMinutes(),
          new Date(t).getSeconds()
        ]
        return `${y}${spare}${fix(m)}${spare}${fix(d)} ${fix(h)}${timeSpare}${fix(mi)}${timeSpare}${fix(ms)}`
      }
      // 获取长度
      let len = null
      if(typeof date === 'number'){
        date = parseInt(date)
        len = date.toString().length
      } else{
        len = date.length
        len == 13 ? date = parseInt(date):null
      }
      if (len === 10) {
        return time(date * 1000, spare, timeSpare)
      } else if (len === 13) {
        return time(date, spare, timeSpare)
      } else {
        return time(date, spare, timeSpare)
      }
    }

上一篇 下一篇

猜你喜欢

热点阅读