前端之家收集整理的这篇文章主要介绍了
javascript日期格式化方法汇总,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
方法一:
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;
}
调用方式:
方法二:
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"));
// -->
方法三:
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);
}
});
};
方法四:
方法
document.writeln('
');
document.writeln(date.toDateString());
//Thu Jan 08 2015
document.writeln('
')
document.writeln(date.toTimeString());
//01:39:08 GMT+0800 (中国标准时间)
document.writeln('
')
document.writeln(date.toLocaleDateString());
//2015年1月8日
document.writeln('
')
document.writeln(date.toLocaleTimeString());
//上午1:39:08
document.writeln('
')
document.writeln(date.toUTCString());
//Wed,07 Jan 2015 17:39:08 GMT
//一些set,get
方法
方法五:
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
}
方法六:
方法七:
= 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;
}
是不是第七种更加的个性化一些呢,个人推荐这种