Welcome 微信登录

首页 / 脚本样式 / JavaScript / javascript日期格式化方法汇总

方法一:
// 对Date的扩展,将 Date 转化为指定格式的String// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 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"); 

方法二:

<script language="javascript" type="text/javascript"> <!-- /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (newDate()).pattern("yyyy-MM-dd hh:mm:ss.S")==> 2006-07-02 08:09:04.423* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04* (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04* (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18*/Date.prototype.pattern=function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时 "H+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; var week = { "0" : "/u65e5", "1" : "/u4e00", "2" : "/u4e8c", "3" : "/u4e09", "4" : "/u56db", "5" : "/u4e94", "6" : "/u516d"}; if(/(y+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } if(/(E+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]); } 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 date = new Date(); window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));// --></script>
方法三:
Date.prototype.format = function (mask) { var d = this;var zeroize = function (value, length) {if (!length) length = 2;value = String(value);for (var i = 0, zeros = ""; i < (length - value.length); i++) {zeros += "0";}return zeros + value;};return mask.replace(/"[^"]*"|"[^"]*"|/b ( ? : d {1, 4} | m {1, 4} | yy( ? : yy) ? | ([hHMstT]) / 1 ? | [lLZ]) / b / g, function ($0) {switch ($0) {case "d":return d.getDate();case "dd":return zeroize(d.getDate());case "ddd":return ["Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat"][d.getDay()];case "dddd":return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][d.getDay()];case "M":return d.getMonth() + 1;case "MM":return zeroize(d.getMonth() + 1);case "MMM":return ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][d.getMonth()];case "MMMM":return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][d.getMonth()];case "yy":return String(d.getFullYear()).substr(2);case "yyyy":return d.getFullYear();case "h":return d.getHours() % 12 || 12;case "hh":return zeroize(d.getHours() % 12 || 12);case "H":return d.getHours();case "HH":return zeroize(d.getHours());case "m":return d.getMinutes();case "mm":return zeroize(d.getMinutes());case "s":return d.getSeconds();case "ss":return zeroize(d.getSeconds());case "l":return zeroize(d.getMilliseconds(), 3);case "L":var m = d.getMilliseconds();if (m > 99) m = Math.round(m / 10);return zeroize(m);case "tt":return d.getHours() < 12 ? "am" : "pm";case "TT":return d.getHours() < 12 ? "AM" : "PM";case "Z":return d.toUTCString().match(/[A-Z]+$/);// Return quoted strings with the surrounding quotes removed default:return $0.substr(1, $0.length - 2);}});};
方法四:
<script type="text/javascript">var date = new Date();document.writeln(date);//Thu Jan 08 2015 01:25:53 GMT+0800 (中国标准时间)document.writeln(Date.parse());//NaNdocument.writeln(Date.parse("6/10/2014"));//1402329600000 毫秒数document.writeln(Date.parse("Thu Jan 08 2015 01:25:53"));//1420651553000 毫秒数document.writeln(Date.UTC());//NaN//日期格式化方法document.writeln("<br/>");document.writeln(date.toDateString());//Thu Jan 08 2015document.writeln("<br/>")document.writeln(date.toTimeString());//01:39:08 GMT+0800 (中国标准时间)document.writeln("<br/>")document.writeln(date.toLocaleDateString());//2015年1月8日document.writeln("<br/>")document.writeln(date.toLocaleTimeString());//上午1:39:08document.writeln("<br/>")document.writeln(date.toUTCString());//Wed, 07 Jan 2015 17:39:08 GMT//一些set,get方法</script>
方法五:
Date.prototype.Format = function(formatStr) {var str = formatStr;var Week = ["日", "一", "二", "三", "四", "五", "六"];str = str.replace(/yyyy|YYYY/, this.getFullYear());str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : "0" + (this.getYear() % 100));str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : "0" + (this.getMonth() + 1));str = str.replace(/M/g, (this.getMonth() + 1));str = str.replace(/w|W/g, Week[this.getDay()]);str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : "0" + this.getDate());str = str.replace(/d|D/g, this.getDate());str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : "0" + this.getHours());str = str.replace(/h|H/g, this.getHours());str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : "0" + this.getMinutes());str = str.replace(/m/g, this.getMinutes());str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : "0" + this.getSeconds());str = str.replace(/s|S/g, this.getSeconds());return str}
方法六:
Date.prototype.Format = function(formatStr) {var str = formatStr;var Week = ["日", "一", "二", "三", "四", "五", "六"];str = str.replace(/yyyy|YYYY/, this.getFullYear());str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : "0" + (this.getYear() % 100));str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : "0" + (this.getMonth() + 1));str = str.replace(/M/g, (this.getMonth() + 1));str = str.replace(/w|W/g, Week[this.getDay()]);str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : "0" + this.getDate());str = str.replace(/d|D/g, this.getDate());str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : "0" + this.getHours());str = str.replace(/h|H/g, this.getHours());str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : "0" + this.getMinutes());str = str.replace(/m/g, this.getMinutes());str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : "0" + this.getSeconds());str = str.replace(/s|S/g, this.getSeconds());return str}
方法七:
/*1、< 60s, 显示为“刚刚”2、>= 1min && < 60 min, 显示与当前时间差“XX分钟前”3、>= 60min && < 1day, 显示与当前时间差“今天 XX:XX”4、>= 1day && < 1year, 显示日期“XX月XX日 XX:XX”5、>= 1year, 显示具体日期“XXXX年XX月XX日 XX:XX”*/function timeFormat(time){var date = new Date(time),curDate = new Date(),year = date.getFullYear(),month = date.getMonth() + 10,day = date.getDate(),hour = date.getHours(),minute = date.getMinutes(),curYear = curDate.getFullYear(),curHour = curDate.getHours(),timeStr; if(year < curYear){timeStr = year +"年"+ month +"月"+ day +"日 "+ hour +":"+ minute;}else{var pastTime = curDate - date,pastH = pastTime/3600000; if(pastH > curHour){timeStr = month +"月"+ day +"日 "+ hour +":"+ minute;}else if(pastH >= 1){timeStr = "今天 " + hour +":"+ minute +"分";}else{var pastM = curDate.getMinutes() - minute;if(pastM > 1){timeStr = pastM +"分钟前";}else{timeStr = "刚刚";}}}return timeStr;}
是不是第七种更加的个性化一些呢,个人推荐这种