인프런 커뮤니티 질문&답변

kium님의 프로필 이미지
kium

작성한 질문수

따라하며 배우는 리액트 A-Z[19버전 반영]

할 일 목록 추가하기

Date.now() 질문2 입니다

작성

·

745

0

먼저 답변 감사합니다. 강의 열심히 듣고 있습니다.
아래 답변에 대한 인라인의로 재 질문 드립니다.

>서버에서 서버 시간을 이용해서 저장을 해주고 그
>걸 클라이언트에서 보여줄 때 각 나라에 따라서 보
>여주시면 됩니다.


→ 여기서 서버시간이라는건 UTC시간을 말씀하시는 건가요? 아니면 그냥 서버의 타임존을 의식하지 않고 서버시간을 저장하라는 말씀이신가요?

→ 각나라에 따라서 보여주라는 말씀은 서버에 저장한 시간을 가지고와서 화면에 보여줄때 new Date(서버에 저장한 시간) 이렇게 하면 된다는 말씀이신지요? 

>클라이언트에서 따로 시간을 서버에 넘겨주시지 않>아도 서버에서 현재 시간을 가질 수 있습니다. 그래>서 서버에 있는 시간을 저장하시고 그걸 보여주시는 >클라이언트에서만 dayjs나 momentjs에 있는 기능>을 이용해서 보여주시면 됩니다. 

→클라이언트가 한국이고 서버는 미국에 있다면 미국의 타임존으로 서버에 저장이 될것이고 클라이언트에서 보여줄때는 days, momentsjs에 있는 기능을 사용하면 한국이나 중국등의 나라에서 보여지는 시간으로 표시할수 있다는 말씀이신가요?
강사님이 말씀하시는 days, momentsjs의 기능을 알려주시면 감사하겠습니다.

날짜로 검색을 할때는 클라이언트의 날짜를 가져와서 서버에서 new Date(시간)으로 서버 타임존 시간으로 변경을 해서 디비에 들어있는 시간대를 검색하면 되는거지요?

 

답변 1

1

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요!!! 

데이터베이스에 timestamp로 시간을 저장하면 utc로 되기에 어디든 시간이 같습니다. 

 

그래서 얘기해주신 클라이언트의 날짜 롤 가져온다면 말씀해주신 것처럼 그걸 utc로 바꿔서 검색해주시면 되며 

 

만약 데이터베이스에 timestamp로 저장되어있는걸 클라이언트에서 사람들에게 보여줄 때는 utc를 각 지역에 해당하는 시간으로 변환해서 보여주시면 됩니다. 

그때 쉽게 변환해주는 라이브러리가 dayjs나 moment입니다 ㅎㅎ 

 

감사합니다!!

kium님의 프로필 이미지
kium

작성한 질문수

질문하기