//将秒转成文字描述:
//参数:
// secondOrigin:单位:秒,示例:"2700"或2700,
// formatCode:
// 值为0或null,返回中文时间格式,示例:"60"或60 返回 1分
// 值为1,返回数字时间格式:示例:"60"或60 返回 00:01 :00
//返回值:
//1.formatCode == null 或 formatCode ==0
// secondOrigin = 2700或"2700",返回:45分
// secondOrigin = 2515或"2515",返回:41分54秒
// secondOrigin = 3960或"3960",返回:1小时6分
// secondOrigin = 60或"60",返回:1分
//
//2.formatCode == 1
// secondOrigin = 2700或"2700",返回:00:45 :00
// secondOrigin = 2515或"2515",返回:00:41 :54
// secondOrigin = 3960或"3960",返回:01:06 :00
// secondOrigin = 60或"60",返回:00:01 :00
function secondToDateStr(secondOrigin, formatCode) {
if (!hasValue(secondOrigin)) {
return "";
}
var result = "";
var hourStr = "";
var minuteStr = "";
var secondStr = "";
var milliSecondStr = "";
var timeInSecond = parseFloat(secondOrigin);
var ss = 1000;
var mi = ss * 60;
var hh = mi * 60;
var dd = hh * 24;
var ms = timeInSecond * ss;
var day = 0;//parseInt(ms / dd);
var hour = parseInt((ms - day * dd) / hh);
var minute = parseInt((ms - day * dd - hour * hh) / mi);
var second = parseInt((ms - day * dd - hour * hh - minute * mi) / ss);
var milliSecond = parseInt(ms - day * dd - hour * hh - minute * mi - second * ss);
if (second > 59) {
second = 0;
minute += 1;
}
if (minute > 59) {
minute = 0;
hour += 1;
}
if (formatCode == null || formatCode == 0) {
hourStr = (hour > 0) ? hour + "小时" : "";
minuteStr = (minute > 0) ? minute + "分" : "";
secondStr = (second > 0) ? second + "秒" : "";
milliSecondStr = (milliSecond > 0) ? milliSecond + "毫秒" : "";
if (timeInSecond >= 60 && timeInSecond < 60 * 60) { /*[1分钟,1小时)*/
result = minuteStr + secondStr;
} else if (timeInSecond >= 60 * 60) { /*[1小时, ...)*/
result = hourStr + minuteStr;
} else { /*(...,1分钟)*/
result = secondStr;
}
} else if (formatCode == 1) {
hourStr = hour > 10 ? hour.toString() : 0 + hour.toString();
minuteStr = minute >= 10 ? minute.toString() : 0 + minute.toString();
secondStr = second >= 10 ? second.toString() : 0 + second.toString();
result = hourStr + ":" + minuteStr + ":" + secondStr;
}
return result;
}
//计算指定时间与当前时间差,返回人性化的提示 //参数: // dateTimesString:时间格式:2015-05-18T00:00:00 function getDateDiffHumanTip (dateTimesString) { if (!hasValue(dateTimesString)) { return ""; } var result = ""; dateTimesString = dateTimesString.toString(); var minute = 1000 * 60; var hour = minute * 60; var day = hour * 24; var halfamonth = day * 15; var month = day * 30; var year = month * 12; //替换时间中的字符:T dateTimesString = dateTimesString.replace(‘T‘, ‘ ‘); //获取时间戳(距离1970-1-1的毫秒数) var dateTimeStamp = Date.parse(dateTimesString.replace(/-/gi, "/")); var now = new Date().getTime(); var diffValue = now - dateTimeStamp; if (diffValue < 0) { return dateTimesString.substr(0, 10); } var yearC = diffValue / year; var monthC = diffValue / month; var weekC = diffValue / (7 * day); var dayC = diffValue / day; var hourC = diffValue / hour; var minC = diffValue / minute; if (yearC > 1) { //result = parseInt(yearC) + "年前"; result = dateTimesString.substr(0, 10); } else if (monthC >= 1) { result = parseInt(monthC) + "月前"; } else if (weekC >= 1) { result = parseInt(weekC) + "星期前"; } else if (dayC >= 1) { result = parseInt(dayC) + "天前"; } else if (hourC >= 1) { result = parseInt(hourC) + "小时前"; } else if (minC >= 1) { result = parseInt(minC) + "分钟前"; } else result = "刚刚"; return result; }
原文:http://www.cnblogs.com/easy5weikai/p/4710326.html