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. 【笔记】W3C CSS关键属性

    white-space属性: white-space 属性设置如何处理元素内的空白. 可能的值 值 描述 normal 默认值,合并所有空格,换行符会被浏览器忽略 pre 空白会被浏览器保留.其行为方 ...

  2. EditPlus64的安装配置

    下载地址,直接到360下载即可,下载完毕之后,进入如下网址,完后在线生成注册码 http://www.jb51.net/tools/editplus/ 以上是文本编辑器EditPlus的安装以及注册, ...

  3. Java 图形编程 一:入门

    package second; import java.awt.Color; import java.awt.Frame; import java.awt.event.WindowAdapter; i ...

  4. tomcat 7 用mod_jk做 负载均衡

    在Win7中使用apache为tomcat做负载均衡,各组件及版本如下: 两个tomcat v 7.0.57 一个apache v 2.2.14 一个mod_jk v 1.2.33(for windo ...

  5. 如何在eclipse中添加android ADT

    百度经验:http://jingyan.baidu.com/article/b0b63dbfa9e0a74a4830701e.html 截图:

  6. android 开发edittext获取焦点时hint消失

    默认情况时:设置了hint的话,需要输入的时候hint才会消失,但是现在是需要当edittext获取焦点时就让hint消失 代码如下: verifycode= (EditText)findViewBy ...

  7. SQL语言笔记

      字符串用单引号',判断用单等号=,两个单引号''转义为一个单引号' 不等号是<> 不区分大小写 []括起来的要不是关键字,要不是非法变量,比如空格隔起来的变量   创建与删除数据库 - ...

  8. Unix守护进程

    问题描述:         Unix守护进程 问题解决:     Unix守护进程没有控制终端,终端名设置为问号(?),终端前台进程组ID设置(TPGID)为-1 守护进程编写规则:      (1) ...

  9. javascript中alert()与console.log()的区别

    我们在做js调试的时候使用 alert 可以显示信息,调试程序,alert 弹出窗口会中断程序, 如果要在循环中显示信息,手点击关闭窗口都累死.而且 alert 显示对象永远显示为[object ]. ...

  10. Recommender Systems移动互联网个性化游戏推荐

    对于在线商店,主要关心两方面:1. 提升转化率(将不消费的用户转变为消费用户):2. 提升消费额(已经花钱的人,花更多的强). 对比了6种方法:1. 协同过滤:2. slope one:3. 基于内容 ...