猿问

跟当前时间比较,显示时间差距?

如图:

将日期跟当前时间比较,并显示相差的时间如图展示,想封装一个方法,但是具体不知道该怎么弄好,求大神指点迷津。

自己在各路大神点思路下,自己给弄了一个,如下:

https://img1.mukewang.com/5c5117a40001054704840903.jpg

哆啦的时光机
浏览 430回答 1
1回答

红糖糍粑

考虑下年、月、日、时、分的情况,主要是通过对比时间,分成六个级别【年、月、日、时、分、1分钟内】,哪个级别匹配到了就拿出结果即可:function diffTime(dataStr){&nbsp; &nbsp; var nowDate = new Date().getTime(),&nbsp; &nbsp; &nbsp; &nbsp; oldDate = new Date(dataStr).getTime(),&nbsp; &nbsp; &nbsp; &nbsp; diffTime = parseInt((nowDate - oldDate)/1000,10),&nbsp; &nbsp; &nbsp; &nbsp; oneMinute = 60,&nbsp; &nbsp; &nbsp; &nbsp; oneHour = 60 * oneMinute,&nbsp; &nbsp; &nbsp; &nbsp; oneDay = 24 * oneHour,&nbsp; &nbsp; &nbsp; &nbsp; oneMonth = 30 * oneDay,&nbsp; &nbsp; &nbsp; &nbsp; oneYear = 12 * oneMonth,&nbsp; &nbsp; &nbsp; &nbsp; compareArr = [oneYear,oneMonth,oneDay,oneHour,oneMinute],&nbsp; &nbsp; &nbsp; &nbsp; postfix = ['年前','个月前','天前','个小时前','分钟前','1分钟内'],&nbsp; &nbsp; &nbsp; &nbsp; diffYear,diffMonth,diffDay,diffHour,diffMinute,len=5;&nbsp; &nbsp; for(var i =0; i< len ;i++){&nbsp; &nbsp; &nbsp; &nbsp; var diff = Math.floor(diffTime/compareArr[i]);&nbsp; &nbsp; &nbsp; &nbsp; if(diff > 0){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return diff + postfix[i];&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; else if(i === len -1 && diff === 0){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return postfix[len];&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答