為求方便,直接將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 timestamps或version of ISO8601。所規範的文字。