根據此answer,Firefox和Chrome在創建日期對象時接受格式"YYYY MM DD"
。Edge,Chrome和Firefox中的日期定義
然而,邊緣不允許new Date("YYYY MM DD")
並希望被初始化爲:new Date("YYYY-MM-DD")
所以,我應該首先檢查創建日期對象之前正在使用的瀏覽器或者是有一個共同的模式,通過該日期對象可以創建?
根據此answer,Firefox和Chrome在創建日期對象時接受格式"YYYY MM DD"
。Edge,Chrome和Firefox中的日期定義
然而,邊緣不允許new Date("YYYY MM DD")
並希望被初始化爲:new Date("YYYY-MM-DD")
所以,我應該首先檢查創建日期對象之前正在使用的瀏覽器或者是有一個共同的模式,通過該日期對象可以創建?
我不確定我是否理解你的問題,因爲我嘗試過的Firefox可以使用新的Date(「YYYY-MM-DD」),所以你可以使用它並通過使用Edge避免出現問題總而言之,無論如何,如果你得到一個無效的日期,這是我的解決方案,例如:
var date;
date = new Date("10 01 01"); //invalid date
if(isNaN(date.getDay())){
date = new Date("2010-01-01")
}
希望這有助於你
如前面的答覆中提到,新的日期( 「YYYY-MM-DD」)應該工作在Firefox。測試此示例代碼,例如:http://www.w3schools.com/js/tryit.asp?filename=tryjs_date_string_iso1。
這裏有一個單獨的問題與您可能遇到的日期相關,這是UTC日期與用戶時區的對齊。此線程有關於此問題以及如何適應它的更多信息:Javascript date object always one day off?
希望能夠解決您的問題!
「Firefox」不允許使用日期(「YYYY-MM-DD」)。所以,我需要一個共同的模式。我明白你的迴避,但寧願有一個更乾淨的解決方案,因爲這個函數將被調用很多次。 – Asqan
我覺得很奇怪,因爲我試圖在Firefox上這樣做,發現這一點: JavaScript ISO日期 ISO 8601是表示日期和時間的國際標準。 的ISO 8601語法(YYYY-MM-DD),也是首選的JavaScript日期格式 在http://www.w3schools.com/js/js_date_formats.asp 抱歉,我不能是任何幫助 – Pizzy