Skip to content
On this page

Invalid Date in Safari

Title
Invalid Date in Safari
Category
Troubleshooting
Tags
Aliases
Invalid Date in Safari
Created
last year
Updated
last year

문제

  • Safari에서 yyyy-MM-dd hh:mm 형식의 문자열로 Date 객체를 생성할 때, Invalid Date 에러가 발생함.
js
> new Date('2010-11-29 08:00')
> Invalid Date
> new Date('2010-11-29 08:00')
> Invalid Date

원인

해결

공백(/\s/)을 T로 치환하고, Z를 추가

https://stackoverflow.com/a/47790371

js
new Date('2011-04-12 15:00'.replace(/\s/, 'T') + 'Z')
new Date('2011-04-12 15:00'.replace(/\s/, 'T') + 'Z')
  • Z 를 포함해야 타임존 오프셋이 추가된다.

-/로 치환

https://stackoverflow.com/a/5646753

js
new Date('2011-04-12 15:00'.replace(/-/g, '/'));
new Date('2011-04-12 15:00'.replace(/-/g, '/'));
  • yyyy/MM/dd 형식 지원은 ECMA262 스펙에 명시되어 있지 않으나, 대부분의 브라우저에서 지원되는 것으로 보인다.

References

Released under the MIT License.