티스토리 뷰
반응형
2021-01-13T01:28:30 이라는 문자열을 Date 포맷으로 변경할 때, 다음과 같이 Safari에서의 결과가 잘못 표시되는 현상이 있다.



Safari에서는 timezone 값을 Chrome 등 다른 브라우저와 다르게 처리하여 발생하는 것으로 보인다.
해결하려면 국내 기준으로 시간 문자열 뒤에 +09:00를 추가하면 된다.
const datetimeString = '2021-01-13T01:28:30';
new Date(`${datetimeString}+09:00`);
하지만 고정 값을 넣는 것이 꺼려진다면 다음과 같이 timezone 값을 입력 시간에 더해주면 된다.
이 경우에는 timezone 식별자인 Z를 시간 문자열 뒤에 추가로 붙여준다.
const datetimeSring = '2021-01-13T01:28:30';
new Date(new Date(`${datetimeString}Z`).getTime() + new Date().getTimezoneOffset() * 60 * 1000);
반응형
'Javascript' 카테고리의 다른 글
curl --upload-file 파일을 fetch의 body로 전달하기 (0) | 2021.07.22 |
---|---|
[nodejs] SyntaxError: Unexpected token ) (0) | 2020.09.16 |
call, apply 그리고 bind (0) | 2020.07.01 |
Javascript 변수 값의 변경을 감지하기 (2) | 2020.06.30 |
[nodejs] 리모트 경로의 csv 파일을 읽고 파싱하기 (csv-parser) (0) | 2020.06.16 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total