美文网首页
日期格式化

日期格式化

作者: 没_有_人 | 来源:发表于2018-09-30 10:37 被阅读0次

    第一种方法:根据自己的需求,封装一个函数

    比如:我要显示2018年09月30日 10:28这样格式的日期类型,通过后台返回的时间戳,自己去封装一个针对这种格式的时间转换。

       function toTime(time){
                var _date = new Date(String(time).length==10 ? time*1000 : time);//时间戳可能是10位数或者13位数的
                var _Y = _date.getFullYear()+'年';
                var _y = (_date.getMonth()+1 < 10 ? '0'+(_date.getMonth()+1) : _date.getMonth()+1)+'月';
                var _d = _date.getDate() + '日 ';
                var _h = _date.getHours() + ':';
                var _m = _date.getMinutes();
                return _Y+_y+_d+_h+_m;
        }
    console.log(toTime(new Date()));//2018年09月30日 10:28
    

    第二种方法:网上的方法,把date日期函数通过prototype添加一个方法。

    Date.prototype.Format = function (fmt) { //author: meizz 
        var o = {
            "M+": this.getMonth() + 1, //月份 
            "d+": this.getDate(), //日 
            "H+": this.getHours(), //小时 
            "m+": this.getMinutes(), //分 
            "s+": this.getSeconds(), //秒 
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
            "S": this.getMilliseconds() //毫秒 
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }
    var time1 = new Date().Format("yyyy-MM-dd");
    var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");  
    console.log(time1,time2);//2018-09-30 2018-09-30 10:33:46
    

    第一种方法具有针对性,比较简单。第二种是一个公共的类方法,有点复杂,总的来说,能用就行。

    相关文章

      网友评论

          本文标题:日期格式化

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