美文网首页
JS: 时间戳转为日期

JS: 时间戳转为日期

作者: 喵整点薯条 | 来源:发表于2019-05-27 15:22 被阅读0次
    /**
     * 时间戳或时间 格式化
     * 两个参数:
     * 第一个参数:可选,时间或时间戳,默认为当前时间。第二个参数:可选,转换的格式,默认为YYYY-MM-DD hh:mm:ss。
     * 不补0:YYYY-M-D h:m:s 2018-1-1 0:0:0
     * 加入星期:YYYY-MM-DD www hh:mm:ss 2018-01-01 星期一 00:00:00
     * 加入周:YYYY-MM-DD ww hh:mm:ss 2018-01-01 周一 00:00:00
     */
    function formatTime (date, fmt = 'YYYY-MM-DD hh:mm:ss') {
        if (date && date.length === 10) {
          date = date * 1000
        }
        date = typeof date === 'number' ? new Date(date) : new Date()
        
        let obj = {
          Y: date.getFullYear(),
          M: date.getMonth() + 1,
          D: date.getDate(),
          w: date.getDay(),
          h: date.getHours(),
          m: date.getMinutes(),
          s: date.getSeconds()
        }
        let week = ['日', '一', '二', '三', '四', '五', '六']
    
        for (let key in obj) {
          fmt = fmt.replace(new RegExp(key + '+', 'g'), function (e) {
            var val = obj[key] + '' // 字符串化
    
            if (key === 'w') {
              return (e.length > 2 ? '星期' : '周') + week[val]
            }
            // e.length: 要求的长度, val.length: 目前的长度,不足的前面补零
            for (let j = 0, len = e.length - val.length; j < len; j++) {
              val = '0' + val
            }
            return val
          })
        }
        return fmt
    }
    
    

    相关文章

      网友评论

          本文标题:JS: 时间戳转为日期

          本文链接:https://www.haomeiwen.com/subject/nwsbzqtx.html