刚好项目需要这样一个功能,顺便共享出来给大家玩耍。
https://github.com/jaywcjlove/date.js
例子:
dateDiff(Timestamp,now Timestamp)
Timestamp:毫秒
dateDiff(1411430400000,1421313395359)
//=>"3个月前"
dateDiff(new Date('1987-04-03').getTime())
//=>"28年前"
源码:
;(function(window){
/**
* [dateDiff 算时间差]
* @param {[type=Number]} hisTime [历史时间戳,必传]
* @param {[type=Number]} nowTime [当前时间戳,不传将获取当前时间戳]
* @return {[string]} [string]
*/
var dateDiff = function(hisTime,nowTime){
var now =nowTime?nowTime:new Date().getTime(),
diffValue = now - hisTime,
result='',
minute = 1000 * 60,
hour = minute * 60,
day = hour * 24,
halfamonth = day * 15,
month = day * 30,
year = month * 12,
_year = diffValue/year,
_month =diffValue/month,
_week =diffValue/(7*day),
_day =diffValue/day,
_hour =diffValue/hour,
_min =diffValue/minute;
if(_year>=1) result=parseInt(_year) + "年前";
else if(_month>=1) result=parseInt(_month) + "个月前";
else if(_week>=1) result=parseInt(_week) + "周前";
else if(_day>=1) result=parseInt(_day) +"天前";
else if(_hour>=1) result=parseInt(_hour) +"个小时前";
else if(_min>=1) result=parseInt(_min) +"分钟前";
else result="刚刚";
return result;
}
window.dateDiff = dateDiff
})(window);
改成了型参数,应该是这样吧
;(function(window){
/**
* [dateDiff 算时间差]
* @param {[type=Number]} hisTime [历史时间戳,必传]
* @param {[type=Number]} nowTime [当前时间戳,不传将获取当前时间戳]
* @return {[string]} [string]
*/
var dateDiff = function(hisTime,nowTime){
if(!arguments.length) return '';
var arg = arguments,
now =arg[1]?arg[1]:new Date().getTime(),
diffValue = now - arg[0],
result='',
minute = 1000 * 60,
hour = minute * 60,
day = hour * 24,
halfamonth = day * 15,
month = day * 30,
year = month * 12,
_year = diffValue/year,
_month =diffValue/month,
_week =diffValue/(7*day),
_day =diffValue/day,
_hour =diffValue/hour,
_min =diffValue/minute;
if(_year>=1) result=parseInt(_year) + "年前";
else if(_month>=1) result=parseInt(_month) + "个月前";
else if(_week>=1) result=parseInt(_week) + "周前";
else if(_day>=1) result=parseInt(_day) +"天前";
else if(_hour>=1) result=parseInt(_hour) +"个小时前";
else if(_min>=1) result=parseInt(_min) +"分钟前";
else result="刚刚";
return result;
}
window.dateDiff = dateDiff
})(window);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。