Почему это:
new Date("2019-01-10T00:00:00+0100")
возвращение
Thu Jan 10 2019 00:00:00 GMT+0100 (Central European Standard Time)
на Firefox и Chrome на моем ноутбуке, но вместо этого
invalid date
в Safari на ноутбуке и в Chrome на iOS?
Поскольку веб-браузеры несовместимы ...: - (
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
Примечание: синтаксический анализ строк даты с помощью конструктора Date (и Date.parse, они эквивалентны) настоятельно не рекомендуется из-за различий и несоответствий в браузере. Поддержка строк формата RFC 2822 предоставляется только по соглашению. Поддержка форматов ISO 8601 отличается тем, что строки, содержащие только дату (например, «1970-01-01»), обрабатываются как UTC, а не как локальные.
Для справки, new Date("2019-01-10T00:00:00+01:00") (с двоеточием между часом и минутой в части часового пояса), кажется, делает правильные вещи в Safari.
new Date("2019-01-10T00:00:00+01:00")