JavascriptでDateのインスタンスを作成するときにタイムゾーンを指定しなかった場合の時刻のパースのされ方がiPhoneとWindowsと異なる件

ちょっと躓いたのでメモ

以下のコードがあったとして

alert(new Date("2018-12-12T23:59"));

Windows上の Chrome で実行すると Thu Dec 13 2018 23:59:00 GMT+900 (日本標準時) と表示される iPhone上の Safari だと Fri Dec 14 2018 08:59:00 GMT+0900 (JST) と表示される ちなみに iPhone上の ChromeでもSafari と同様の時刻になるため、OSレベルで違いがある模様。 Pixel3上の Chrome では Windows上の Chrome と同様の表示となった。

この違いを吸収するにはちゃんとタイムゾーンまで指定してやる必要がある

alert(new Date("2018-12-12T23:59+09:00"));