美文网首页
时间日期的格式化

时间日期的格式化

作者: 她与星河皆遗憾 | 来源:发表于2021-10-11 14:48 被阅读0次

日期时间的获取

var date = new Date()
data.isLeapYear(), // 获取年份是否闰年(闰年为true)
data.getFullYear(), // 获取年份
date.getMonth() + 1, // 获取月份(备注:这里的月份是从0开始的)
date.getDate(), // 获取日子
date.getHours(), //获取小时
date.getMinutes(), //获取分钟
date.getSeconds(), //获取秒
date.getMilliseconds() //获取毫秒
date.getDay() // 获取今天是这周的第几周
date.getTime() // 获取当前日期的时间戳

时间日期的格式化,默认不传就是年月日,可以自行更改

// yyyy-mm-dd hh-MM|yyyy-mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合
function timeFormat(dateTime = null, fmt = 'yyyy-mm-dd') {
    // 如果为null,则格式化当前时间
    if (!dateTime) dateTime = Number(new Date());
    // 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式
    if (dateTime.toString().length == 10) dateTime *= 1000;
    let date = new Date(dateTime);
    let ret;
    let opt = {
        "y+": date.getFullYear().toString(), // 年
        "m+": (date.getMonth() + 1).toString(), // 月
        "d+": date.getDate().toString(), // 日
        "h+": date.getHours().toString(), // 时
        "M+": date.getMinutes().toString(), // 分
        "s+": date.getSeconds().toString() // 秒
        // 有其他格式化字符需求可以继续添加,必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        };
    };
    return fmt;
}


例:
timeFormat(new Date(), 'yyyy-mm-dd hh-MM')

相关文章

网友评论

      本文标题:时间日期的格式化

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