var dateDiff = function(hisTime,nowTime){
if(!arguments.length) return '';
var arg = arguments,
now =arg[1]?arg[1]:new Date().getTime(),
diffValue = now - arg[0].getTime(),
result={
isToday:false
},
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(new Date().toDateString()==hisTime.toDateString()){
result.isToday=true;
}
if(_year>=1) result.text=parseInt(_year) + "年前";
else if(_month>=1) result.text=parseInt(_month) + "个月前";
else if(_week>=1) result.text=parseInt(_week) + "周前";
else if(_day>=1) result.text=parseInt(_day) +"天前";
else if(_hour>=1) result.text=parseInt(_hour) +"个小时前";
else if(_min>=1) result.text=parseInt(_min) +"分钟前";
else result.text="刚刚";
return result;
} //此方法来源于 https://github.com/vuejs/vue-hackernews/blob/gh-pages/src/filters/index.js
function fromNow (dateStr) {
const between = Date.now() / 1000 - Number(new Date(dateStr.replace(/-/g,'/')).getTime()) / 1000;
if (between < 3600) {
return (~~(between / 60)+'分钟前');
} else if (between < 86400) {
return (~~(between / 3600)+'小时前');
} else {
return (~~(between / 86400)+'天前');
}
} function isToday(dateStr){
return (new Date().toDateString()==(new Date(dateStr.replace(/-/g,'/')).toDateString()));
}

JS代码片段:一个日期离现在多久了的更多相关文章

  1. JS代码片段:日期格式化

    Date.prototype.format = function(format) { var date = { "M+": this.getMonth() + 1, "d ...

  2. 127个常用的JS代码片段,每段代码花30秒就能看懂(上)

    127个常用的JS代码片段,每段代码花30秒就能看懂(上) JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript.” FreeCode ...

  3. 常用JS代码片段

    1.隐藏部分数字,如手机号码,身份证号码 1 2 3 function (str,start,length,mask_char){ return str.replace(str.substr(star ...

  4. Atom编辑器折腾记_(15)JS代码片段补全(插件:javascript-snippets)

    题外话 这款插件就比較重量级了-.用熟悉了写原生JS的效率要提升非常多--并且,不仅支持JS还包括了nodejs snippet javascript-snippets 插件作者: zenorocha ...

  5. 常用的js代码片段

    1.单选框/手风琴 <script> $(document).ready(function(){ $("dd").on("click",functi ...

  6. JS代码片段:判断一个元素是否进入可视区域

    // Determine if an element is in the visible viewport function isInViewport(element) { var rect = el ...

  7. 18 行 JS 代码编一个倒时器

    有时候在生活中,你需要一个JavaScript倒计时时钟,而不是一个末日装置设备.不管你是否有一次约会,销售.促销.或者游戏,你可以受益于使用原生JavaScript构建一个时钟,而不是拿到一个现成的 ...

  8. JS 代码编一个倒时器

    有时候在生活中,你需要一个JavaScript倒计时时钟,而不是一个末日装置设备.不管你是否有一次约会,销售.促销.或者游戏,你可以受益于使用原生JavaScript构建一个时钟,而不是拿到一个现成的 ...

  9. 如何快速找出网页中事件对应的js代码片段

    后端人员也免不了要处理一些前端的事情,由于代码不是自己写的,所以不好找到相关的代码. 比如在表单提交时,前端提交的数据不正确,这时候你可能会想在谷歌浏览器里添加一个鼠标 点击事件的断点. 然而查看js ...

随机推荐

  1. Oracle 中的replace函数的应用

    replace 函数用法如下: replace('将要更改的字符串','被替换掉的字符串','替换字符串') oracle 中chr()函数 CHR() --将ASCII码转换为字符 语法CHR(nu ...

  2. DC-EPC小结

    今晚上修完了最后2个学时的EPC(课程主页),这意味着本学期的DC和共20个学时的EPC到此结束,这有可能是我人生中最后一次上英语课. Tom是我DC课的老师,EPC起于Tom和Micheal的Deb ...

  3. 进程和cpu绑定

    #include<stdlib.h> #include<stdio.h> #include<sys/types.h> #include<sys/sysinfo ...

  4. 0x01第一个汇编程序

    ;将由text db 10,20,30,40定义的4个数相加,并输出其和. .386    ;指明指令集 .model flat,stdcall ;平坦模式,函数右边的参数先入栈 option cas ...

  5. nodejs redis

    0. install redis library for node npm install redis 1.node command example > var _redis = require ...

  6. android中实现Parcelable序列化步骤

    import java.io.Serializable; import java.text.DecimalFormat; import android.os.Parcel; import androi ...

  7. 2815: [ZJOI2012]灾难 - BZOJ

    题目描述 Description 阿米巴是小强的好朋友.    阿米巴和小强在草原上捉蚂蚱.小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的 ...

  8. GhostDoc:生成.NET API文档的工具 (帮忙文档)

    在 Sandcastle:生成.NET API文档的工具 (帮忙文档) 后提供另一个生成API文档的工具.   1) 准备工作 安装GhostDoc Proc. 收费的哦.... 这个工具的优势是不像 ...

  9. hdu 3807

    很好的思路     枚举有多少人有ipad 判是否满足题目给出的条件 #include <iostream> #include <cstring> #include <c ...

  10. codeforces 397B

    #include <cstdio> #include <cstdlib> #include <cmath> #include <map> #includ ...