JS代码片段:一个日期离现在多久了
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代码片段:一个日期离现在多久了的更多相关文章
- JS代码片段:日期格式化
Date.prototype.format = function(format) { var date = { "M+": this.getMonth() + 1, "d ...
- 127个常用的JS代码片段,每段代码花30秒就能看懂(上)
127个常用的JS代码片段,每段代码花30秒就能看懂(上) JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript.” FreeCode ...
- 常用JS代码片段
1.隐藏部分数字,如手机号码,身份证号码 1 2 3 function (str,start,length,mask_char){ return str.replace(str.substr(star ...
- Atom编辑器折腾记_(15)JS代码片段补全(插件:javascript-snippets)
题外话 这款插件就比較重量级了-.用熟悉了写原生JS的效率要提升非常多--并且,不仅支持JS还包括了nodejs snippet javascript-snippets 插件作者: zenorocha ...
- 常用的js代码片段
1.单选框/手风琴 <script> $(document).ready(function(){ $("dd").on("click",functi ...
- JS代码片段:判断一个元素是否进入可视区域
// Determine if an element is in the visible viewport function isInViewport(element) { var rect = el ...
- 18 行 JS 代码编一个倒时器
有时候在生活中,你需要一个JavaScript倒计时时钟,而不是一个末日装置设备.不管你是否有一次约会,销售.促销.或者游戏,你可以受益于使用原生JavaScript构建一个时钟,而不是拿到一个现成的 ...
- JS 代码编一个倒时器
有时候在生活中,你需要一个JavaScript倒计时时钟,而不是一个末日装置设备.不管你是否有一次约会,销售.促销.或者游戏,你可以受益于使用原生JavaScript构建一个时钟,而不是拿到一个现成的 ...
- 如何快速找出网页中事件对应的js代码片段
后端人员也免不了要处理一些前端的事情,由于代码不是自己写的,所以不好找到相关的代码. 比如在表单提交时,前端提交的数据不正确,这时候你可能会想在谷歌浏览器里添加一个鼠标 点击事件的断点. 然而查看js ...
随机推荐
- asp.net 生成PDF方法
今天转博客园看到有人发表了一篇生成PFd的文章,准备自己也留一份准备以后用到的时候方便调用: 首先去itextsharp网站下载控件(https://sourceforge.net/projects/ ...
- DB 从zl.xml中导入数据库用户名及密码等!
package com.dy.java; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- 金融系列5《AUTH过程》
INITIALIZE UPDATE: 在安全通道的显式发起期间,INITIALIZEUPDATE命令用于在卡和主机之间传送卡和会话数据.这个命令开始一个安全通道会话的发起. CPURESET() // ...
- hornetq 入门(1)
Hornetq 版本2.4.0final 需要JDK7及以上 Hornetq官网 Hornetq2.1中文手册 step1.启动服务端 1.1准备配置文件(配置说明参考官网手册) hornetq-c ...
- iOS 进阶 第九天(0408)
0408 makekeyAndVisible解释 一个程序可以有多个Window,但只有一个窗口能够成为主窗口.如图中所示,此时的window2是主窗口.主窗口用处大了.从iOS7开始无论是主窗口还是 ...
- Linux 配置本地yum源
Linux 配置无网络状态利用yum安装软件 在有网络的情况下安装软件只需一条yum install xxx命令,例如安装gcc只需一条指令:yum install gcc 那么在没有网络的情况下该 ...
- redhat或centos关闭防火墙并开启sshd服务
使用putty连接虚拟机的redhat连不上时处理方案: 这里使用的是VMware Workstation, 将宿主机与虚拟机之间的网络使用 ‘桥接方式’: 1.关闭宿主机与虚拟机的防火墙, 在re ...
- 简单好用的 AJAX 上传插件,还可以抛弃难看的 file 按钮哦~
在做网页设计的时候,设计师常常会把上传按钮设计得非常漂亮,还用了什么放大镜之类的图标来表达 browse 的效果.可是她们不知道,type="file" 的按钮在不同浏览器上的效果 ...
- 模仿易信的UI
易信,它的UI还是很简洁,因此本人想模仿一下它,用了一天的时候来研究它的资源文件,终于被我写出来.先看下效果图吧. (一)首页的标题 main_title.xml <?xml v ...
- C# 读取枚举描述信息实例
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using Syste ...