时间戳、时间对象统统转化为想要的时间格式,异常强大
/**
* @author chenpengpeng
* @description 通用timeFormat(day, format),其中time表示时间对象或者时间戳,format表示时间具体的格式
* 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* 例子:
* (Format(time, "yyyy-MM-dd hh:mm:ss.S") ==> 2016-07-02 08:09:04.423
* (Format(time, "yyyy-M-d h:m:s.S") ==> 2016-7-2 8:9:4.18
* @date 2016-11-02
*/
function timeFormat(time, format){ var dateO; if(typeof time == 'number' && time.toString().length == 13){ dateO = new Date(time); }else if(time instanceof Date){ dateO = time; }else{ return; } var date = { "M+": dateO.getMonth() + 1, "d+": dateO.getDate(), "h+": dateO.getHours(), "m+": dateO.getMinutes(), "s+": dateO.getSeconds(), "q+": Math.floor((dateO.getMonth() + 3) / 3), "S+": dateO.getMilliseconds() }; var month = date["M+"] < 10 ? '0'+ date["M+"] : date["M+"]; var day = date["d+"] < 10 ? '0'+ date["d+"] : date["d+"]; if(format === 'yyyyMMdd-China'){ return ''+ dateO.getFullYear()+ '年'+ month+ '月'+ day +'日'; } if(format === 'MMdd-China'){ return ''+ month+ '月'+ day +'日'; } if (/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (dateO.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in date) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); } } return format; }