时间间隔计算

423 阅读1分钟

基于PrettyDate(遵循MIT协议)为Date对象定义一个ago属性返回自然语言描述的时间间隔

````
    Date.prototype.__defineGetter__('ago',function(){
        var diff = ( ( ( new Date() ).getTime() - this.getTime() ) /1000),
            day_diff = Math.floor(diff / 86400);
        return day_diff == 0 && (
            diff < 60 && 'just now' ||
            diff < 120 && '1 minute ago' ||
            diff < 3600 && Math.floor( diff / 60 ) + 'minutes ago' ||
            diff < 7200 && '1 hour ago' || 
            diff < 86400 && Math.floor( diff / 3600 ) + 'hour ago') ||
            day_diff == 1 && 'Yesterday' ||
            day_diff < 7 && day_diff + 'days ago' ||
            day_diff < 365 && Math.ceil( day_diff / 7 ) + 'weeks age' ||
            Math.floor( day_diff / 365) + ' years ago'
    })
    var a = new Date('04/26/2019');
    a.ago;
````