-
Javascript에서 서버 시간대에 상관없이 한국 시간으로 현재 날짜 호출하기Tips 2023. 5. 16. 10:35728x90반응형
function getToday() { const locale = new Date(); // 서버 시각 /* 1) .getTime()을 통해 현재 서버의 에폭시간(unix time)을 구함 2) .getTimezoneOffset()을 통해 서버와 UTC간의 시간차를 분단위로 구함 (Offset이라고 함) 3) Offset에 *60000을 해서 밀리초로 변환함 4) 두 초를 더해줌 = UTC의 에폭시간이됨 */ const ust = locale.getTime() + (locale.getTimezoneOffset() * 60 * 1000); /* 1) KST와 UST의 시차인 9시간을 밀리초로 변환해준 것을 UST와 더함 = KST의 에폭시간이 됨 2) KST의 에폭시간을 Date함수의 인자로 넣어주면 연,월,일 변수를 가진 객채를 반환함 */ const kst = new Date(ust + (9 * 60 * 60 * 1000)); const year = kst.getFullYear().toString(); //yyyy형태의 숫자로 출력 /* d형태의 숫자로 출력되므로 dd로 변환하려면 .padStart를 통해 한 자리시 앞에 0을 붙여서 2자리로 맞춤 1월이 0부터 표기되므로 1을 더해줌 */ const month = (kst.getMonth() + 1).toString().padStart(2, '0'); const day = kst.getDate().toString().padStart(2, '0'); return year + month + day; }
이 코드를 작성하면서 new라는 생성자에 대해서 배웠다. 간단하게 빈 객체 생성 -> 함수 호출 -> 리턴 값을 객체에 담는 것까지의 역할을 하는 것으로 확인했으며, 더 자세한 설명은 링크된 블로그를 보면 될 것 같다. 설명이 잘 되어있어 이해가 잘 갔다.
728x90반응형'Tips' 카테고리의 다른 글