js日期多少小时前、多少分钟前、多少秒前

来源:互联网 发布:阿里的数据平台 编辑:程序博客网 时间:2024/05/01 10:40

刚好项目需要这样一个功能,顺便共享出来给大家玩耍。

例子:

dateDiff(Timestamp,now Timestamp)
Timestamp:毫秒

jsdateDiff(1411430400000,1421313395359)//=>"3个月前"dateDiff(new Date('1987-04-03').getTime())//=>"28年前"

源码:

js;(function(window){    /**     * [dateDiff 算时间差]     * @param  {[type=Number]} hisTime [历史时间戳,必传]     * @param  {[type=Number]} nowTime [当前时间戳,不传将获取当前时间戳]     * @return {[string]}         [string]     */    var dateDiff = function(hisTime,nowTime){        var now =nowTime?nowTime:new Date().getTime(),            diffValue = now - hisTime,            result='',            minute = 1000 * 60,            hour = minute * 60,            day = hour * 24,            halfamonth = day * 15,            month = day * 30,            year = month * 12,            _year = diffValue/year,            _month =diffValue/month,            _week =diffValue/(7*day),            _day =diffValue/day,            _hour =diffValue/hour,            _min =diffValue/minute;            if(_year>=1) result=parseInt(_year) + "年前";            else if(_month>=1) result=parseInt(_month) + "个月前";            else if(_week>=1) result=parseInt(_week) + "周前";            else if(_day>=1) result=parseInt(_day) +"天前";            else if(_hour>=1) result=parseInt(_hour) +"个小时前";            else if(_min>=1) result=parseInt(_min) +"分钟前";            else result="刚刚";            return result;    }    window.dateDiff = dateDiff})(window);

改成了型参数,应该是这样吧

js;(function(window){    /**     * [dateDiff 算时间差]     * @param  {[type=Number]} hisTime [历史时间戳,必传]     * @param  {[type=Number]} nowTime [当前时间戳,不传将获取当前时间戳]     * @return {[string]}         [string]     */    var dateDiff = function(hisTime,nowTime){        if(!arguments.length) return '';        var arg = arguments,            now =arg[1]?arg[1]:new Date().getTime(),            diffValue = now - arg[0],            result='',            minute = 1000 * 60,            hour = minute * 60,            day = hour * 24,            halfamonth = day * 15,            month = day * 30,            year = month * 12,            _year = diffValue/year,            _month =diffValue/month,            _week =diffValue/(7*day),            _day =diffValue/day,            _hour =diffValue/hour,            _min =diffValue/minute;            if(_year>=1) result=parseInt(_year) + "年前";            else if(_month>=1) result=parseInt(_month) + "个月前";            else if(_week>=1) result=parseInt(_week) + "周前";            else if(_day>=1) result=parseInt(_day) +"天前";            else if(_hour>=1) result=parseInt(_hour) +"个小时前";            else if(_min>=1) result=parseInt(_min) +"分钟前";            else result="刚刚";            return result;    }    window.dateDiff = dateDiff})(window);
0 0
原创粉丝点击