解決Safari 的「無效日期」問題
提供的程式碼片段,嘗試從字串表示建立Date 對象,在Safari 中遇到困難。這是由於瀏覽器無法正確解析某些日期格式。
最初,使用格式「YYYY-MM-DD」(例如「2010-11-29」)在 Chrome 等其他瀏覽器中效果很好和火狐瀏覽器。但是,Safari 出現「無效日期」錯誤。
為了解決此問題,修改了程式碼以嘗試不同的日期格式:「MM-DD-YYYY」、「DD-MM-YYYY」和「YYYY-DD-MM」。不幸的是,這些變體在 Safari 中都沒有被證明是成功的。
一個解決方案(儘管對於這個小問題來說有點過分)是使用專用的日期解析庫,如 Moment.js 或 Date-fns。這些程式庫提供了跨瀏覽器的強大日期處理功能。
或者,更簡單的方法是使用正規表示式將日期字串轉換為與Safari 相容的格式:
console.log(new Date('2011-04-12'.replace(/-/g, "/")));
透過替換連字符(-) 加上正斜杠(/),日期字串變得與Safari 的日期解析邏輯相容。這種方法相對簡單有效,不需要額外的函式庫。
以上是Safari 可以解析「YYYY-MM-DD」或其他格式的日期嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!