新ios實作js new Date()的問題

為求方便,直接將mysql的datetime欄位值送給js的new Date()作為建構式的參數,即2022-04-14 13:45:33之類的內容,用來產生js的date物件。

個人在電腦版只用windows的chrome測試,執行起來也都正常。

在android系統測試也正常,但我的android版本已經很久沒有更新了。

原本手邊的iphone 6s測起來也正常,沒想到同事反應他們的iphone有問題, 當時還不知道是新ios實作new Date發生錯誤。

總之,新版ios若是執行下列敘述,得到的會是無效的日期格式錯誤

var myData = new Date("2022-04-14 13:45:33");

這裡來複習一下js date的建構式參數

new Date(); //當下的日期時間
new Date(value); //帶入unix timestamp
new Date(dateString); //標準的日期字串

//直接帶入各位置的數字,其中month從0開始
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

其中,「標準的日期字串」即是IETF-compliant RFC 2822 timestampsversion of ISO8601。所規範的文字。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

Proudly using Dynamic Headers by Nicasio WordPress Design