JavaScript - 时间函数

时间美化函数

/*
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() + 1,
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;
}

 时间转化函数

Date.prototype.format = function(format){
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
}
}
return format;
}

//使用方法 
var now = new Date(); 
var nowStr = now.format("yyyy-MM-dd hh:mm:ss"); 
//使用方法2: 
var testDate = new Date(); 
var testStr = testDate.format("YYYY年MM月dd日hh小时mm分ss秒"); 
alert(testStr); 
//示例: 
alert(new Date().format("yyyy年MM月dd日")); 
alert(new Date().format("MM/dd/yyyy")); 
alert(new Date().format("yyyyMMdd")); 
alert(new Date().format("yyyy-MM-dd hh:mm:ss"));

上一篇:数据检索|文献检索|事实检索|yandex|Title vs topic|检索技术|检索技巧|


下一篇:【大数据实战】Logstash采集->Kafka->ElasticSearch检索