JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例

  次阅读 作者:智能小宝 来源:互联网 2016-01-26 10:49 我要评论(0)

在新浪微博首页看到每条微博后边显示的时间并不是标准的年-月-日格式,而是经过换算的时间差,如:发表于5分钟前、发表于 2小时前 ,比起标准的时间显示格式,貌似更加直观和人性化

要实现类似功能,用JS就可以,实现方法如下:

一、javascript函数实现:

实例1:

代码如下:

//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;

}

若你得到的时间格式不是时间戳,可以使用下面的JavaScript函数把字符串转换为时间戳, 本函数的功能相当于JS版的strtotime:

代码如下:

//js函数代码:字符串转换为时间戳

function getDateTimeStamp(dateStr){

return Date.parse(dateStr.replace(/-/gi,"/"));

}

实例2:

代码如下:

<script>

function jsDateDiff(publishTime){

var d_minutes,d_hours,d_days;

var timeNow = parseInt(new Date().getTime()/1000);

var d;

d = timeNow - publishTime;

d_days = parseInt(d/86400);

d_hours = parseInt(d/3600);

d_minutes = parseInt(d/60);

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...