Date 建構子在IE 中傳回NaN:跨瀏覽器解決方案
在JavaScript 中,使用new Date() 建構子建立Date 物件眾所周知,在Internet Explorer (IE) 中使用時會傳回NaN 值,而在Firefox 和Chrome 等瀏覽器中則可以無縫運作。這在處理日期和時間相關功能時可能會帶來挑戰。
要解決這個問題,必須了解這種差異背後的根本原因。與其他瀏覽器相比,IE 具有不同的解釋日期字串的方式。為了確保跨瀏覽器相容性,我們可以利用更通用的方法來解析日期字串並建立在所有主要瀏覽器中一致工作的 Date 物件。
提供的解決方案涉及轉換從 MySQL datetime/ 取得的日期字串時間戳欄位轉換為 JavaScript Date 物件。此方法涉及將日期字串拆分為其元件(年、月、日、小時、分鐘、秒),然後使用 Date 建構函式使用這些擷取的元件建立新的 Date 物件。
以下是一個範例實作此方法的說明:
var dateStr = "2011-08-03 09:15:11"; // Returned from MySQL timestamp/datetime field var a = dateStr.split(" "); var d = a[0].split("-"); var t = a[1].split(":"); var date = new Date(d[0], (d[1] - 1), d[2], t[0], t[1], t[2]); console.log(date); // Outputs a valid Date object
此方法成功地從提供的字串建立了Date 對象,並且在Internet Explorer、Firefox 和Chrome 上一致地工作。透過利用這種方法,開發人員可以確保他們的日期相關操作在所有主要瀏覽器中都能正常運作。
以上是如何解決 Internet Explorer 中的 NaN 日期建構子問題以實現跨瀏覽器相容性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!