计算传入的任意一时间。计算出这个时间距离现在还有多少天!或者计算过去的时间距离现在已经过去了多少天!

返回值有两种!

1、负值 代表过去了多少天

2、正值 代表距离设定的时间还有多少天

说明:距离设定的莫一天并不包括(设定的那一天),如果需要,计算的结果加1就可以了!

/*格式 getBeforeDate('2015,5,20') */
/*
* auth:120975587@qq.com
* time:2015.5.6 9:45
* ******************
*/
function getBeforeDate(n){
var now = new Date();
var aftertime = new Date(n);
var year = now.getFullYear();
var mon= now.getMonth()+1;
var day= now.getDate();
var year_after = aftertime.getFullYear();
var mon_after = aftertime.getMonth()+1;
var day_after = aftertime.getDate();
var chs = 0;
//获取当月的天数
function DayNumOfMonth(Year,Month)
{
return 32 - new Date(Year,Month-1,32).getDate();
}
if(aftertime.getTime() - now.getTime() < 0){
var temp1 = day_after;
var temp2 = mon_after;
var temp3 = year_after;
day_after = day;
mon_after = mon;
year_after = year;
day = temp1;
mon = temp2;
year = temp3;
}
if(year == year_after){//不跨年
if(mon == mon_after){//不跨年不跨月
chs += day_after-day;
}else{//不跨年跨月
chs += DayNumOfMonth(year,mon)- day+1;//加上第一个不满的
for(var i=1;i< mon_after-mon;i++){
chs += DayNumOfMonth(year,mon+i);
}
chs += day_after-1;//加上
}
}else{//存在跨年
chs += DayNumOfMonth(year,mon)- day+1;//加上开始年份不满的一个月
for(var m=1;m<12-mon;m++){
chs += DayNumOfMonth(year,mon+m);
}
for(var j=1;j < year_after-year;j++){
if((year+j)%400 == 0 || (year+j)%4 == 0 && (year+j)%100 != 0){
chs += 366;
}else{
chs += 365;
}
}
for(var n=1;n <= mon_after;n++){
chs += DayNumOfMonth(year_after,n);
}
chs += day_after-1;
}
if(aftertime.getTime() - now.getTime() < 0){
return -chs;
}else{
return chs;
}
}

以上函数亲测是基本正确!但是测试数据不是很多,如有问题方便留下言,以便校正!谢谢!

js 计算过去和未来的时间距离现在多少天?的更多相关文章

  1. js 计算当年还剩多少时间的倒数计时 javascript 原理解析【复制到编辑器查看推荐】

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. js 计算某年某周日期范围

    <HTML><HEAD><script type="text/javascript"> //目前只判断了4位有效输入的年份,//日期输出格式已处 ...

  3. .net 计算当前时间距离今晚00:00:00还有多少分多少秒

    string dateDiff = null; DateTime DateTime1 = DateTime.Now; //第二天的0点00分00秒 DateTime DateTime2 = DateT ...

  4. C# 计算传入的时间距离今天的时间差

    /// <summary> /// 计算传入的时间距离今天的时间差 /// </summary> /// <param name="dt">&l ...

  5. C# 计算当前时间距离今晚00:00:00还有多少分多少秒

    .net 计算当前时间距离今晚00:00:00还有多少分多少秒 string dateDiff = null;//获取当前时间 DateTime DateTime1 = DateTime.Now; / ...

  6. JS如何设置计算几天前的时间?

    计算多少天前的具体时间.比如今天是9月5日,那7天前正常就是8月29了. 之前曾经直接用时间进行加减,吃了大亏,后来脑残到直接写了一个很复杂的计算闰年,闰月,30.31.28的月份 现在分享一下. f ...

  7. js计算两个时间之间的间隔

    计算时间间隔的方法有很多,这里只是一种方式,可以方法里直接传入两个时间,也可以传入两个字符串格式的时间,在方法里解析一下就ok,这个例子里不传入参数,直接在方法里随便写一个时间来演示一下 fun() ...

  8. 高德地图 API 计算两个城市之间的距离

    1. 目前在项目中,遇到一个需求不会做,就是要计算两个城市之间的距离,而这两个城市的输入是可变的,如果要使用数据库来先存储两地之间的距离,调用的时候再来调用,那么存数据的时候,要哭的,因为光是省级区域 ...

  9. js setInterval每隔一段时间执行一次

    js setInterval每隔一段时间执行一次setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式.setInterval() 方法会不停地调用函数,直到 clearI ...

随机推荐

  1. iis7、iis8配置备份还原

    原文 iis7.iis8配置备份还原 方法1: 1.打开我们的IIS管理器,在功能视图里找到“共享的配置”这个功能然后双击进入. 2.进入“共享的配置”后单机右上方的“导出配置”选项,选择导出配置文件 ...

  2. HDOJ--4821--String【弦hash】

    联系:http://acm.hdu.edu.cn/showproblem.php?pid=4821 题意:给一个字符串,选m个长度为l的子串组成新的串.要求这m个子串互不同样,问有多少种组合. 字符串 ...

  3. JAXB 操作XML 与 Object

    Java Architecture for XML Binding) 是一个业界的标准,是一项能够依据XML Schema产生Java类的技术.是一种xml与object映射绑定技术标准. JDK5下 ...

  4. @using (Html.BeginForm())参数示例

    原文:@using (Html.BeginForm())参数示例 1.指定表单提交方式和路径等 @using (Html.BeginForm("Index", "Home ...

  5. Spring Security 入门详解(转)

    1.Spring Security介绍 Spring Security是基于spring的应用程序提供声明式安全保护的安全性框架,它提供了完整的安全性解决方案,能够在web请求级别和方法调用级别 处理 ...

  6. 十天学Linux内核之第四天---如何处理输入输出操作

    原文:十天学Linux内核之第四天---如何处理输入输出操作 真的是悲喜交加呀,本来这个寒假早上8点都去练车,两个小时之后再来实验室陪伴Linux内核,但是今天教练说没名额考试了,好纠结,不过想想就可 ...

  7. opencv2对于读书笔记——二值化——thresholded功能

    opencv二进制图象值功能threshold功能 其结构 double cv::threshold( //二值化函数 const CvArr* src, //原始图像 CvArr* dst, //输 ...

  8. MVC中,视图的Layout使用

    本文目标 1.能够重用Razor模板进行页面的组件化搭建 本文目录 1.母板页_Layout.cshtml 2.用户自定义控件 3.默认Layout引用的使用(_ViewStart.cshtml) 1 ...

  9. C#二维码生成

    C#二维码生成,这里使用开源的ThoughtWorks.QRCode.dll库. 1.下载ThoughtWorks.QRCode.dll库文件,并引用到项目中. 2.创建QRCodeHandler.c ...

  10. 通俗易懂的语言描述JavaScript原型

    这是一个翻译.原文地址http://javascriptissexy.com/javascript-prototype-in-plain-detailed-language/# 原型(prototyp ...