首页 > 技术文章 > js时间戳转字符串

yite 2020-11-03 10:31 原文

 

           parseTime(time, cFormat) {
                if (arguments.length === 0) {
                    return null
                }
                const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
                let date
                if (typeof time === 'object') {
                    date = time
                } else {
                    if (('' + time).length === 10) time = parseInt(time) * 1000
                    date = new Date(time)
                }
                const formatObj = {
                    y: date.getFullYear(),
                    m: date.getMonth() + 1,
                    d: date.getDate(),
                    h: date.getHours(),
                    i: date.getMinutes(),
                    s: date.getSeconds(),
                    a: date.getDay()
                }
                const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
                    let value = formatObj[key]
                    if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1]
                    if (result.length > 0 && value < 10) {
                        value = '0' + value
                    }
                    return value || 0
                })
                return time_str
            }

 

先定义该函数,需要的地方调用即可,其中的两个参数,第一个是要转换成日期格式的时间戳,第二个是转换格式,

如  '{y}-{m}-{d} {h}:{i}:{s}' 即表示显示 年-月-日 时:分:秒,若不填则默认'{y}-{m}-{d} {h}:{i}:{s}'

推荐阅读