dateAddYear('2016-01-01', '3') ;//返回:2018-12-31

浏览器:ie11,ff 46.0.1(成功)360v8.1(急速模式,成功)

浏览器:360v8.1(兼容模式,失败)

一。代码:

//date: 日期字符串yyyy-MM-dd,如:2016-02-14
//years:年份,正整数字符串
//返回日期字符串yyyy-MM-dd,如:2016-02-14
function dateAddYear(date, years) {
var now = new Date(date);
var intYear = now.getFullYear() + parseInt(years);
var intMonth = now.getMonth() + 1; //正常的月份,
var intDay = now.getDate() - 1; //日期-1
if (intDay == 0) {
intMonth--; //减少一个月
if (intMonth == 0) {
intYear--; //0:减少一年
intMonth = 12;
intDay = 31;
}
else if (intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) {
intDay = 30; //4,6,9,11:30天
}
else if (intMonth == 2) {
intDay = 28; //2:28/29
if (intYear % 4 == 0) {
intDay = 29;
}
} else {
intDay = 31; //1,3,5,7,8,10,12 :31天
}
}

var strMonth = (intMonth) < 10 ? "0" + (intMonth).toString() : (intMonth).toString();
var strDay = (intDay) < 10 ? "0" + (intDay).toString() : (intDay).toString();
var strEndDate = intYear + "-" + strMonth + "-" + strDay;
return strEndDate;
}

二。相关方法、函数说明
// var myDate = new Date();
// myDate.getYear(); //获取当前年份(2位)
// myDate.getFullYear(); //获取完整的年份(4位,1970-????)
// myDate.getMonth(); //获取当前月份(0-11,0代表1月)
// myDate.getDate(); //获取当前日(1-31)
// myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
// myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
// myDate.getHours(); //获取当前小时数(0-23)
// myDate.getMinutes(); //获取当前分钟数(0-59)
// myDate.getSeconds(); //获取当前秒数(0-59)
// myDate.getMilliseconds(); //获取当前毫秒数(0-999),目前是13位整数
// myDate.toLocaleDateString(); //获取当前日期,如:2016年6月17日
// myDate.toLocaleTimeString(); //获取当前时间,如:11:41:24
// myDate.toLocaleString(); //获取当前日期时间,如:2016年6月17日 11:41:24

js:合同-已知起始日期、年限,自动计算截止日期的更多相关文章

  1. 用js写已知abc+cba = 1333,其中a、b、c均为一位数,编程求出满足条件的a、b、c所有组合。

    <!--<script type="text/javascript"> //已知abc+cba = 1333,其中a.b.c均为一位数,编程求出满足条件的a.b. ...

  2. 已知一个日期和天数, 求多少天后的日期(是那个超时代码的AC版)

    #include <stdio.h> #include <string.h> ; int judge_year(int x) { == || x % == && ...

  3. easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大

    easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大 >>>>>>>>>>> ...

  4. 已知起始点,获取每段等距离途经点的经纬度(用百度js api作)

    已知两个中文地址,自动规划路径,获取路径上每个3公里的点的经纬度 <html> <head> <meta http-equiv="Content-Type&qu ...

  5. JS计算日期加天数后的日期(起始日期+有效天数=截至日期)

    /** * 优惠券有效期 * startDate:起始日期 * valueTime:有效天数 */ function transferCouponValueTime(startDate,valueTi ...

  6. js获取当前时间戳与日期比较

    如何用javascript获取当前时间戳: 复制代码 代码示例: 方法1: var timestamp = date.parse(new date()); 结果:1280977330000 方法2: ...

  7. 对象布局已知时 C++ 对象指针的转换时地址调整

    在我调试和研究 netscape 系浏览器插件开发时,注意到了这个问题.即,在对象布局已知(即对象之间具有继承关系)时,不同类型对象的指针进行转换(不管是隐式的从下向上转换,还是强制的从上到下转换)时 ...

  8. 2015 前端[JS]工程师必知必会

    2015 前端[JS]工程师必知必会 本文摘自:http://zhuanlan.zhihu.com/FrontendMagazine/20002850 ,因为好东东西暂时没看懂,所以暂时保留下来,供以 ...

  9. Node.js:实现知乎(www.zhihu.com)模拟登陆,获取用户关注主题

    前一段时间,在瞎看看 Node.js,便研究通过 Node.js 实现知乎模拟登陆.相信,有很多网站有登陆权限设置,如若用户未登陆,将会跳转至首页提醒用户登陆,无法浏览部分页面. 如若是 b/s 架构 ...

随机推荐

  1. careercup-中等难度 17.5

    17.5 写一个函数来模拟游戏. 游戏规则如下: 4个槽,里面放4个球,球的颜色有4种,红(R ),黄(Y),绿(G),蓝(B).比如, 给出一个排列RGGB,表示第一个槽放红色球,第二和第三个槽放绿 ...

  2. Unescape HTML entities in Javascript Unescape HTML转成html代码

    前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createElement('div'); 然后再给obj设置一些属性. 但是,在实际使用过程 ...

  3. 正则表达式 之 C#后台应用

    正则表达式在.Net就是用字符串表示,这个字符串格式比较特殊,无论多么特殊,在C#语言看来都是普通的字符串,具体什么含义由Regex类内部进行语法分析. Regex 类 存在于 System.Text ...

  4. Google(谷歌)中国工程研究院 工程师 方坤 对学生朋友的一些建议

    对学生朋友的一点建议 发表者:Google(谷歌)中国工程研究院工程师 方坤 自去年春天加入谷歌,我曾多次随公司校园招聘团队一起走访各地院校,帮助公司发掘人才 .利用这样的出差机会到处走走看看,饱览祖 ...

  5. vs2012新建实体数据模型(EF)时无Mysql数据源

    sql转mysql数据库,用到EF,遇到vs2012新建实体数据模型时无Mysql数据源的问题. 问题截图如下: 解决方法1:(简单的的解决方法,有可能解决问题,如不能解决问题,请看解决方法2): ( ...

  6. C++第五章函数

    书上的点: 这次直接写写画画了,遇到的bug也就直接敲了,忘记记录了,好在都在书上,所以勾画一下,提一下.发现每一章后面的小结,都蛮有意思的.可以抄一遍. 1.返回值的函数成为返回值函数(value- ...

  7. 到目前为止,Linux下最完整的Samba服务器配置攻略

    关 于Samba,大家有没有这种感觉,弄了N久丫的死活不喘气儿.找来各种“哥”和“姐”,发现全是“详解…配置专题”,看了半天不知道别个在说什么,好不 容易找了个简单的教程,从头到尾跟着做,尼玛,浪费时 ...

  8. [转载][记录]shell 批量修改文件名

    参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...

  9. ant+dbunit 导xml到mysql

    1.增加自己的data目录和xml数据文件 2.lib依赖 commons-logging-1.1.1.jar dbunit-2.4.8.jar junit-4.9b2.jar mysql-conne ...

  10. select2的基本用法

    公司有个项目需要用到类似百度搜索功能的下拉框,自然想到使用select2. 先看下select2的效果图,如下: 下来简单介绍下这个控件的基本用法,主要简单介绍下远程加载数据: 1.首先引入需要的文件 ...