美文网首页
js日期格式化

js日期格式化

作者: 空宇林 | 来源:发表于2017-10-23 18:18 被阅读0次

    重写了一个格式化日期的方法,支持把日期格式或时间戳按指定的格式输出,应该能满足大多数时候的需求。

    说明

    说明
    y 年份的后2位
    yy 4位数完整年份
    m 月份
    mm 月份小于10前补零
    d
    dd 日小于10前补零
    h 小时
    hh 小时小于10前补零
    i 分钟
    ii 分钟小于10前补零
    s 秒钟
    ss 秒钟小于10前补零

    案例

    formatDate("2017-02-23 12:09:12", "ymd");  //17223
    formatDate("2017-02-23 12:09:12", "y年m月d日 h时i分s秒");  //17年2月23日 12时9分12秒
    formatDate("1398200549", "yy-mm-dd");  //2014-04-23
    formatDate("1398200549000", "y-m-d h:i:s");  //14-4-23 5:2:29
    formatDate("1398200549000", "yy-mm-dd hh:ii:ss");  //2014-04-23 05:02:29
    formatDate("1398200549000", "yy/mm/dd hh:i:s");  //2014/04/23 05:2:29
    formatDate("1398200549000", "yy年m月d日 h时i分s秒");  //2014年4月23日 5时2分29秒
    

    源代码如下

    function formatDate(value, pattern) {
        var date = value.indexOf('-') >= 0 ? Date.parse(value) : value.length == 10 ? value * 1000 : value;
        date = new Date(parseInt(date));
        var YY  = date.getFullYear();
        var y  = YY.toString().substr(2);
        var m  = date.getMonth() + 1;
        var MM = m < 10 ? '0' + m : m;
        var d  = date.getDate();
        var DD = d < 10 ? '0' + d : d;
        var h  = date.getHours();
        var HH = h < 10 ? '0' + h : h;
        var i  = date.getMinutes();
        var II = i < 10 ? '0' + i : i;
        var s  = date.getSeconds();
        var SS = s < 10 ? '0' + s : s;
        var newdate;
    
        newdate = pattern.replace(/yy/g, YY).replace(/y/g, y);
        newdate = newdate.replace(/mm/g, MM).replace(/m/g, m);
        newdate = newdate.replace(/dd/g, DD).replace(/d/g, d);
        newdate = newdate.replace(/hh/g, HH).replace(/h/g, h);
        newdate = newdate.replace(/ii/g, II).replace(/i/g, i);
        newdate = newdate.replace(/ss/g, SS).replace(/s/g, s);
    
        return newdate ;
    }
    

    相关文章

      网友评论

          本文标题:js日期格式化

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