2017-7-9 留言评论时间戳之getTimeAgo方法的粗糙实现方式

今天刷面试题的时候,正好看到类似题目,小试牛刀了一把,较为粗糙的实现方式,能完成基本功能,但是代码太过赘余,先存起来吧,日后再作改进.

function getTimeAgo( time ) { //转换time if( typeof time !== 'number' ){ time = new Date(time).getTime(); } //获取当前时间戳与time时间戳的差值 var disTime = Date.now() - time ; //解析时间戳差值 var ms = disTime / 1 ; //毫秒 var s = disTime / 1000 ; //秒 var mm = disTime / 1000 / 60 ; // 分 var h = disTime / 1000 / 60 / 60 ; //小时 var d = disTime / 1000 / 60 / 60 / 24 ; //天 var m = disTime / 1000 / 60 / 60 / 24 / 30 ; //月 var y = disTime / 1000 / 60 / 60 / 24 / 30 / 12 ; //年 if( y > 1 ){ console.log( Math.round(y) + '年前' ); }else if( m > 1){ console.log( Math.round(m) + '月前'); }else if( d > 1 ){ console.log( Math.round(d) + '天前'); }else if( h > 1 ){ console.log( Math.round(h) + '小时前'); }else if ( mm > 1 ){ console.log( Math.round(mm) + '分钟前'); }else { console.log( '刚刚' ); } } getTimeAgo('2016,1,1'); //两年前

你可能感兴趣的:(2017-7-9 留言评论时间戳之getTimeAgo方法的粗糙实现方式)