2016-10-13 00:16:48 点击量:167 标签: 收藏本文
在新浪微博首页看到每条微博后边显示的时间并不是标准的年-月-日格式,而是经过换算的时间差,如:发表于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,"/"));
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室