js获取给定月份的N个月后的日期
1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear()、getYear()的区别。
①getYear()
var d = new Date()
console.log(d.getYear());
打印结果为:116
小颖百度了下,js中Date对象getYear()方法和getFullYear()方法区别,比如:JS中Date对象getYear()方法和getFullYear()方法区别发现很多人写的是:
在IE中是可以正确获取年份:2016,但是在FF等浏览器下则为:116。
原因则是 在 FF等浏览器内 getYear 返回的是 "当前年份-1900" 的值(即年份基数是1900)
而IE则是 当today的年份大于等于2000的时,直接将1900加上了,返回的 2016。
但是当小颖将上面的代码在IE中运行之后,发现结果还是:116,小颖的IE版本是:

所以小颖觉得可能随着IE版本的更新,IE已经不支持getYear()方法了.不过这只是小颖的猜测,嘻嘻,大家也可以尝试下看看到底是怎样的.
②getFullYear()
var d = new Date();
console.log(d.getFullYear());
打印结果为:2016
使用getFullYear()在IE和FF中都可以正确获取年份:2016
2.下面我们一起来看看getFullYear()、getMonth()、getDate().
①getFullYear()
定义和用法
getFullYear() 方法可返回一个表示年份的 4 位数字。
浏览器支持
所有主要浏览器都支持 getFullYear() 方法
语法
返回值
| 类型 | 描述 |
| Number | 表示年份的 4 位数字。 |
实例
var d = new Date();
console.log(d.getFullYear());
var d2=new Date(2015,11,05);
console.log(d2.getFullYear());
打印结果
2016
2015
②getMonth()
定义和用法
getMonth() 方法可返回表示月份的数字。返回值是 0(一月) 到 11(十二月) 之间的一个整数。
注意: 一月为 0, 二月为 1, 以此类推。
浏览器支持
所有主要浏览器都支持 getMonth() 方法
语法
Date.getMonth()
返回值
| 类型 | 描述 |
| Number | 返回值是 0(一月) 到 11(十二月) 之间的一个整数。 |
实例
var d = new Date();
console.log(d.getMonth()+1);//因为getMonth()返回值是 0(一月) 到 11(十二月) 之间的一个整数。所以要给其加1
var d2=new Date(2015,11,05);
console.log(d2.getMonth());
打印结果
12
11
③getDate()
定义和用法
getDate() 方法可返回月份的某一天。
浏览器支持
所有主要浏览器都支持 getDate() 方法
语法
Date.getDate()
返回值
| 类型 | 描述 |
| Number | dateObject 所指的月份中的某一天,使用本地时间。返回值是 1 ~ 31 之间的一个整数。 |
实例
var d = new Date();
var dd1 = d.getDate();
var d2=new Date(2015, 12, 15);
var dd2 = d2.getDate();
console.log(dd1);
console.log(dd2);
打印结果
27
15
3.js获取给定月份的N个月后的日期
①获取当前日期的3个月后的日期
var d = new Date();
d.setMonth(d.getMonth() + 3);
var yy1 = d.getFullYear();
var mm1 = d.getMonth()+1;//因为getMonth()返回值是 0(一月) 到 11(十二月) 之间的一个整数。所以要给其加1
var dd1 = d.getDate();
if (mm1 < 10 ) {
mm1 = '0' + mm1;
}
if (dd1 < 10) {
dd1 = '0' + dd1;
}
console.log(yy1 + '-' + mm1 + '-' + dd1);
当前时间为:2016年12月27号打印结果 2017-03-27
当前时间为:2016年09月08号打印结果 2016-12-08
②获取给定月份的3个月后的日期
var d = new Date(2015, 12, 15);
// 因为getMonth()获取的月份的值只能在0~11之间所以我们在进行setMonth()之前先给其减一
d.setMonth((d.getMonth()-1) + 3);
var yy1 = d.getFullYear();
var mm1 = d.getMonth()+1;
console.log(mm1);
var dd1 = d.getDate();
if (mm1 < 10 ) {
mm1 = '0' + mm1;
}
if (dd1 < 10) {
dd1 = '0' + dd1;
}
console.log(yy1 + '/' + mm1 + '/' + dd1);
打印结果
3
2016/03/15
js获取给定月份的N个月后的日期的更多相关文章
- js 获取当前月份 第一天和最后一天
js 获取当前月份 第一天和最后一天 var now = new Date(); //当前日期 var nowMonth = now.getMonth(); //当前月 var nowYear = n ...
- java 常用时间操作类,计算到期提醒,N年后,N月后的日期
package com.zjjerp.tool; import java.text.ParseException; import java.text.ParsePosition; import jav ...
- JS获取任意月份的最后一天
在获取月份天数的时候,因为月份不同,所以每个月的天数也有差异,并且由于平闰年,2月份天数也有所不同,导致程序中获取任意月份的天数十分复杂,下面就用这个方法解决此问题,调用此方法将任意年份和月份传进去, ...
- JS获取指定月份的天数几种方法
最近看到一个有意思的试题,正好在需求中也碰到类似的问题,即计算某个月的天数问题.碰到类似问题也许大部分会想是不是还要判断闰年.平年,如果这样想的话就复杂了,下面给出具体的计算方法. 获取月份天数方法一 ...
- js处理日期的一些整理(js获取给定日期前一天的日期)
var date = new Date(); alert(date);//获取当前时间 alert(date.getFullYear());//获取当前年分 alert(date.getMonth() ...
- 用js获取当前月份的天数
在获取每月天数的时候,一般都是存储到一个数组中进行获取,但是如果是二月份的话就需要首先判断是否闰年,再确定是28还是29了. js可以通过Date对象很方便的获取到每月的天数,在初始化Date对象时, ...
- JS获取当前月份的最后一天
<button onclick="function_name()">获取当前月份的最后一天</button> <script type="t ...
- JAVA获取当前日期指定月份后(多少个月后)的日期
环境要求:使用jdk1.8 package com.date; import java.text.ParseException; import java.text.SimpleDateFormat; ...
- java和js获取当前天之后或之前7天(任意)日期
一.获取过去第几天的日期(- 操作) 或者 未来 第几天的日期( + 操作) /** * 获取过去第几天的日期(- 操作) 或者 未来 第几天的日期( + 操作) * * @param past * ...
随机推荐
- C# 破解 Reflector8.5
一.分析 破解.net .dll,可以使用reflector,但官方提供的reflector是需要购买的,因此,破解reflector势在必行. 二.破解Reflector具体步骤 下面为详细的破解步 ...
- 以bank account 数据为例,认识elasticsearch query 和 filter
Elasticsearch 查询语言(Query DSL)认识(一) 一.基本认识 查询子句的行为取决于 query context filter context 也就是执行的是查询(query)还是 ...
- C#多线程之线程同步篇2
在上一篇C#多线程之线程同步篇1中,我们主要学习了执行基本的原子操作.使用Mutex构造以及SemaphoreSlim构造,在这一篇中我们主要学习如何使用AutoResetEvent构造.Manual ...
- 基于SOA架构的TDD测试驱动开发模式
以需求用例为基,Case&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶段.研发准备 ...
- SQL数据类型
1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符. varchar ...
- Ubuntu下配置apache开启https
一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...
- TCP的数据传输小结
TCP的交互数据流 交互式输入 通常每一个交互按键都会产生一个数据分组,也就是说,每次从客户传到服务器的是一个字节的按键(而不是每次一行) 经受时延的确认 通常TCP在接受到数据时并不立即发送ACK: ...
- C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解 ...
- Centos、Ubuntu 安装 Mono、Jexus
Mono是.NET的跨平台实现 在众多关于语言的争论中,.NET一直被以不能跨平台而诟病,Mono改变了这一现状. 有人当心Mono会涉及版权啥的问题.高深的偶不懂,不过我觉得Unity3D都能用,为 ...
- 初尝Brnshop移植到Linux Mono Jexus环境运行
brnshop是最近社区上比较火的开源商城. Jexus是Linux上的web服务器,简单说就是Linux的iis吧.特别感谢作者宇内流云的指点 一.根据http://www.cnblogs.com/ ...