当前位置 : 主页 > 网络编程 > JavaScript >

js通用时间格式转换函数

来源:互联网 收集:自由互联 发布时间:2021-06-28
js通用时间格式转换函数 //使用函数的方式进行定义 function dateFormat(fmt,date){ var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "
js通用时间格式转换函数
//使用函数的方式进行定义  
    function dateFormat(fmt,date){  
        var o = {  
            "M+" : date.getMonth()+1,                 //月份  
            "d+" : date.getDate(),                    //日  
            "h+" : date.getHours(),                   //小时  
            "m+" : date.getMinutes(),                 //分  
            "s+" : date.getSeconds(),                 //秒  
            "q+" : Math.floor((date.getMonth()+3)/3), //季度  
            "S"  : date.getMilliseconds()             //毫秒  
        };  
        if(/(y+)/.test(fmt)){  
            fmt=fmt.replace(RegExp.$1, (date.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;  
    }  
  
    //使用原型方法的方式定义  
    Date.prototype.timeFormat = function(fmt){  
        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;  
    }  

    使用案例:其中time是一个Date类型时间
    console.log("dateFormat():"+dateFormat("MM-dd hh:mm 第q季度",time));  
    console.log("dateFormat():"+dateFormat("yyyy-MM-dd hh:mm:s 第q季度",time));  
    console.log("dateFormat():"+dateFormat("yyyy年MM月dd日 hh时mm分ss秒S毫秒 第q季度",time));  
  
    console.log("time.timeFormat():"+time.timeFormat("MM-dd hh:mm 第q季度"));  
    console.log("time.timeFormat():"+time.timeFormat("yyyy-MM-dd hh:mm:s 第q季度"));  
    console.log("time.timeFormat():"+time.timeFormat("yyyy年MM月dd日 hh时mm分ss秒S毫秒 第q季度")); 

    输出:
dateFormat():10-10 10:10 第4季度  testTimeFormat.html:60:5
dateFormat():2017-10-10 10:10:10 第4季度  testTimeFormat.html:61:5
dateFormat():2017年10月10日 10时10分10秒256毫秒 第4季度  testTimeFormat.html:62:5
time.timeFormat():10-10 10:10 第4季度  testTimeFormat.html:64:5
time.timeFormat():2017-10-10 10:10:10 第4季度  testTimeFormat.html:65:5
time.timeFormat():2017年10月10日 10时10分10秒256毫秒 第4季度
网友评论