用js计算时间差,得到比较人性化的结果
2014-08-30 16:45
543 查看
我们经常看到一些文章或者评论的发表时间不是直接显示出死板的Y-m-d格式,而是算了一个时间差,如:发表于2分钟前,这样显得比较人性化,多用于一些非正式网站。下面提供JavaScript的实现方法:
var minute = 1000 * 60; var hour = minute * 60; var day = hour * 24; var halfamonth = day * 15; var month = day * 30; function getDateDiff(dateTimeStamp){ var now = new Date().getTime(); var diffValue = now - dateTimeStamp; if(diffValue < 0){ //非法操作 //alert("结束日期不能小于开始日期!"); } var monthC =diffValue/month; var weekC =diffValue/(7*day); var dayC =diffValue/day; var hourC =diffValue/hour; var minC =diffValue/minute; 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; }如果你得到的原始数据不是时间戳,可以采用下面的函数把字符串转换为标准时间戳, 它相当于JS版的strtotime,只不过精度不同罢了:
function getDateTimeStamp(dateStr){ return Date.parse(dateStr.replace(/-/gi,"/")); }
相关文章推荐
- 用js计算时间差,得到比较人性化的结果
- 用js计算时间差,得到比较人性化的结果
- 用js计算时间差_得到比较人性化的结果
- 含有运算符的STRING得到计算结果,类似JS的EVAL
- js时间比较 js计算时间差的简单实现方法
- JS(截取字符串,显示当前系统时间yyyy-MM-dd,从文本框得到的数值计算)
- JS日期比较大小 给定时间和持续时间计算最终时间
- 【网页前端】JS呈现时间戳为与当前时间比较结果
- js计算一个时间加上n天后得到的时间
- Oracle时间比较,计算 得到月,日,年
- js计算时间加减及有关时间大小的比较
- js时间比较 js计算时间差
- JS字符串时间比较+计算时间差
- js 计算时间差及比较日期大小
- 含有运算符的STRING得到计算结果,类似JS的EVAL
- JS(截取字符串,显示当前系统时间yyyy-MM-dd,从文本框得到的数值计算)
- JS获取系统时间、计算两个日期天数、比较日期大小
- JS中字符串转换为日期对象的方法JS中如何计算时间,如何比较时间
- JS获取系统时间、计算两个日期天数、比较日期大小
- JS(截取字符串,显示当前系统时间yyyy-MM-dd,从文本框得到的数值计算)