[JS]js时间戳转换后回显5分钟前2小时前的字样的源代码
在新浪微博首页看到每条微博后边显示的时间并不是标准的年-月-日格式,而是经过换算的时间差,如:发表于5分钟前、发表于2小时前,比起标准的时间显示格式
在新浪微博首页看到每条微博后边显示的时间并不是标准的年-月-日格式,而是经过换算的时间差,如:发表于5分钟前、发表于“2小时前”,比起标准的时间显示格式,貌似更加直观和人性化。要实现类似功能,用JS就可以,实现方法如下:
- //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="cuplayer.com:发表于"+ parseInt(dayC) +"天前";
- }
- else if(hourC>=1){
- result="发表于"+ parseInt(hourC) +"个小时前";
- }
- else if(minC>=1){
- result="发表于"+ parseInt(minC) +"分钟前";
- }else
- result="cuplayer.com:刚刚发表";
- return result;
- }
若你得到的时间格式不是时间戳,可以使用下面的JavaScript函数把字符串转换为时间戳, 本函数的功能相当于JS版的strtotime:
- //js函数代码:字符串转换为时间戳
- function getDateTimeStamp(dateStr){
- return Date.parse(dateStr.replace(/-/gi,"/"));
- }
热门文章推荐
- [JS]window.location获取url各项参数详解
- [JS]jQuery,javascript获得网页的高度和宽度
- [JS]视频弹窗视频弹出层videoLightBox(含三种播放器的用法)
- [JS]JS提交中文encodeURI两次转码
- [JS]js版方面encodeURI转码和decodeURI解码的用法实例
- [JS]js取当前机子的时间戳实例
- [JS]AES加密(基于crypto-js)PHP后端解密
- [JS]data:image/png;base64写法的用途及说明
请稍候...