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

語法

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM