js通用时间格式转换函数 //使用函数的方式进行定义 function dateFormat(fmt,date){ var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "
//使用函数的方式进行定义 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季度