-
[JS/AJAX] 서버에서 클라이언트 단으로 시간 가져오기Javascript 2021. 2. 7. 19:54
최근에 코드에서 시간에 대한 이슈가 있었다.
페이지 점검 시간이 되면, 다른 액션을 취하는 코드가 있었는데,
크롬 업데이트를 하고 난 이후로 시간이 대한민국 표준시로 잡히지 않는 이슈였다.
정상적인 시간
Sun Feb 07 2021 19:28:58 GMT+0900 (대한민국 표준시)
크롬 업데이트 후 시간
Sun Feb 07 2021 01:28:58 GMT-0900 (GMT-09:00)따라서 페이지가 점검이 아닌데도 불구하고 점검 중인 시간으로 인식해 오류를 발생시키고 있었다.
시간과 관련된 중요한 비즈니스 로직이 아니라, 서버의 시간이 아닌
스크립트에서 new Date() 를 통해 현재 시간을 가져오고 있었는데
이번 기회에 클라이언트단에서 시간을 가져오는 것을 전부 수정하기로 마음 먹었다.
한줄 요약하면 ajax로 서버에 요청을 보내 현재 시간을 리턴받는 형태로 구현했다.
// function.js function getServerDate() { var date; $.ajax({ type: 'GET', async: false, url: '/api/common/server_date', success: function(data) { date = data; } }); return date; }
// Common.php public function server_date() { echo date('Y-m-d H:i:s'); }
// example.js $(document).ready(function() { // DateType (Y-m-d H:i:s) var srvDate = getServerDate(); var now = new Date(srvDate); var end = new Date('2021-01-31 00:00:00'); });
'Javascript' 카테고리의 다른 글
[JS] Safari에서 new Date 객체 Invalid Date 리턴 받는 경우 (0) 2021.02.13 [JS/jQuery] 스크롤 가장 하단으로 이동시키기 (0) 2021.01.28 [JS]도로명주소API를 활용해서 주소 검색 솔루션 만들기 (0) 2020.01.15