码迷,mamicode.com
首页 > Web开发 > 详细

js获取给定月份的N个月后的日期

时间:2016-12-27 13:48:53      阅读:382      评论:0      收藏:0      [点我收藏+]

标签:oda   ber   pre   today   整数   idt   images   var   lan   

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() 方法

语法

Date.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个月后的日期

标签:oda   ber   pre   today   整数   idt   images   var   lan   

原文地址:http://www.cnblogs.com/yingzi1028/p/6224949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!