1
我是的全新產品Javascript,我從milliseconds
創建Date
時遇到問題。在Javascript中創建日期()時發生錯誤
我有這樣的代碼:
function (result) {
alert("Retreived millis = " + result.created);
//Prints "Retrieved millis = 1362927649000"
var date = new Date(result.created);
alert("Created Date = " + date);
//Prints "Created Date = Invalid Date"
var current = new Date();
var currentDate = new Date(current.getTime());
alert("Current Date = " + currentDate);
//Prints "Current Date = Sun Apr 14 2013 12:56:51 GMT+0100"
}
最後警報證明的Date
創建工作,但我不明白爲什麼沒有被正確地創建了第一個Date
,因爲檢索millis
是正確的...並且據我所知在JavaScript中沒有數據類型,所以它不能失敗,因爲檢索到的millis
是string
或long
,對吧?
它解決了這個問題。我認爲,如果你傳遞一個整數或一個字符串,Javascript就不會抱怨......正如我所說的,我對這個完全陌生...... Thanx很多! – MikO
@MikO:JavaScript會做很多自動的字符串到數字的轉換,但是恰巧'Date'構造函數接受* *字符串或數字,所以它不會觸發自動轉換。相反,它會查看它有什麼和分支,或者以給定格式解析字符串,或者使用數字。如果函數* only *允許數字,則賠率很高,它會很樂意爲您自動轉換字符串(例如'Math.max(10,「100」)'returns'100')。只是不是'Date'構造函數。 :-) –
好的,我現在清楚明白了。非常感謝解決方案和額外的信息。 – MikO