2017-04-07 135 views
1

我使用simple-parsermail-parser解析某些電子郵件(與node-mbox組合)。這些都是美好的庫,我有這一切工作,但我有問題的JavaScript Date對象。與Javascript日期對象混淆

按照simple-parser docs一個解析的電子郵件的日期爲Date對象:

日期是日期Date對象:頭

但由於某些原因,我不能與它一起作爲一個對象。我想提取date.year,date.month等。如果我記錄它,它似乎是一個對象 - 但我不能像這樣對待它:例如在myDate.year之下的示例報告爲未定義。

我在這裏做錯了什麼?如果我將mail.date作爲字符串處理並嘗試創建新的Date對象,它仍然無法正常工作。


console.log('mail', mail); 
var myDate = mail.date; 
console.log('myDate', myDate, typeof myDate); 
console.log('year', myDate.year) 

控制檯輸出:

enter image description here

+2

Javascript'Date'對象的文檔是[here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) – Barmar

回答

3

如果它的JavaScript Date對象,拿到一年你可以使用getFullYear()功能 - 這不是存儲爲財產「年」對象:

var date = new Date(); 
var year = date.getFullYear(); //2017 
var month = date.getMonth(); //3 [starts w/ 0] 
var day = date.getDate(); //6 
+0

謝謝...我感覺像個白癡。我爲什麼認爲它們是日期對象的屬性? –

+0

哈哈不用擔心!很高興幫助 – hackerrdave

+2

@ NoGrabbing-如果今天寫,它可能是一個吸氣的財產。 [* ECMA-262 *](http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.getfullyear)要求每次計算值(儘管可能的實現除非系統設置發生變化,否則不進行實際優化。 – RobG