博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用三元表达式实现(时,分,秒)前的时间差计算
阅读量:5862 次
发布时间:2019-06-19

本文共 1552 字,大约阅读时间需要 5 分钟。

最近发现三元表达式超级好用,以前我们用的最多可能就是:

const apple = isApple ? buyApple : ''

这种代码,但是其实我们可以用更加简便的方式实现

const apple = isApple && buyApple 如果isApple为true则执行buyApple。

而我们常用的

const options = options || default 则是options为true则后面的default不再执行。
好了懂得上面的原理,我们来实现一个例子:评论很多时候有个日期,但是很多都不是显示实际日期,而是显示1天前,1分钟前,1小时前之类的,我们运用上面的三元表达式来实现:

const getTimeString = timeNum => {        const timeString = timeNum instanceof Date ? timeNum : new Date(timeNum)    const second = 1000    const minute = 1000 * 60    const hour = minute * 60    const day = hour * 24    const time_now =  new Date().getTime()    const time_difference = time_now - timeString    const that_time = timeString.getFullYear() + '-'                    + parseInt(timeString.getMonth()+1) + '-'                     + timeString.getDate()+ ' '                     + timeString.getHours() + ':'                     + (timeString.getMinutes()<10 ?                         '0'+timeString.getMinutes() :                         timeString.getMinutes())    return Math.floor((time_difference/day) && that_time)    || (Math.floor(time_difference/hour) && Math.floor(time_difference/hour)+'小时前')    || (Math.floor(time_difference/minute) && Math.floor(time_difference/minute)+'分前')    || (Math.floor(time_difference/second) && Math.floor(time_difference/second)+'秒前')}

调用方法也很简单:

getTimeString(new Date('2017-9-12 15:23:10'))

上面运用了es6的语法,不熟悉的,可以看看es6的教程

因为事先不知道传过来是否是日期对象,所以我们需要判断一下

const timeString = timeNum instanceof Date || new Date(timeNum)

如果评论过了1天,按照天,周,月来看时间,我觉得比较累,所以大于24小时的,都用回原来的时间,我觉得这样可以增加用户体验。

如果你有更加简便的代码,欢迎留言。

转载地址:http://ohynx.baihongyu.com/

你可能感兴趣的文章
MR1和MR2的工作原理
查看>>
Eclipse中修改代码格式
查看>>
GRUB Legacy
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
hexo博客解决不蒜子统计无法显示问题
查看>>
python实现链表
查看>>
java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)...
查看>>
Android TabActivity使用方法
查看>>
java ShutdownHook介绍与使用
查看>>
Eclipse的 window-->preferences里面没有Android选项
查看>>
《麦田里的守望者》--[美]杰罗姆·大卫·塞林格
查看>>
遇到的那些坑
查看>>
央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家
查看>>
[转] Lazy evaluation
查看>>
常用查找算法总结
查看>>
grep 零宽断言
查看>>
被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
查看>>
修改校准申请遇到的问题
查看>>
【DL-CV】浅谈GoogLeNet(咕咕net)
查看>>
python大佬养成计划----win下对数据库的操作
查看>>