2016-04-15 92 views
-1

下面的代碼顯示了日,月,年爲:javascript日期函數顯示錯誤的日期

6 
3 
116 

這顯然是錯誤的日期。

var date= new Date(); 
var day=date.getDay(); 
var month=date.getMonth(); 
var year=date.getYear(); 
    console.log(day); 
    console.log(month); 
    console.log(year); 
    function next() { 

    }; 

Fiddle

+0

PHP或JavaScript(標題說PHP)? – swa66

+0

'這是明顯錯誤的日期.'不,只讀文檔這些方法返回什麼,它是1900年以來的星期幾,月和年數 –

+0

忘記javascript日期。使用Moment.js:http://momentjs.com/ –

回答

2

getDay()返回星期0-6爲週日至週六,

getMonth()返回月份從0-11,所以3月表示,

getYear()已被棄用,用getFullYear()取代應該用它來代替。

它看起來像所有這些功能做一些不同於你所期望的。

從1-31得到這個月的一天:getDate()

要獲得像一個月你期待的,只需添加1:getMonth() + 1

+0

[* getYear *](http://www.ecma-international.org/ecma-262/6.0/index.html#sec-date.prototype.getyear)不會被棄用,但應該使用* getFullYear *來代替。 – RobG

+0

@RobG Mozilla的引用將其列爲已棄用。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear –

+0

ECMA-262是規範性參考,而不是MDN(這是一個有用的公開wiki,但不是一種語言權威)。自* [第一版*(pdf 325KB)](http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA)以來,* getYear *和* getFullYear *一直在ECMA-262中-262,%201st%20edition,%20June%201997.pdf)近20年前,所以不會被棄用(雖然也許應該是)。 ;-) – RobG

1

你查詢了錯誤的功能和誤解輸出。

getDay()返回星期幾。

getMonth()返回一個月,但一月0

getYear()返回年份減去1900

您可能正在尋找開始:

getDate()getMonth()+1getFullYear()