2016-12-02 2 views
0

마지막으로 수행 할 작업 : * 노드 서버의 현재 UTC 시간이 사용자의 현지 시간 이후인지 확인하십시오.나중에 참조 할 오프셋을 사용하여 저장 시간

노드 (Expressjs)에서 나는 페이스 북에서 사용자 데이터를 가져온다. 그들은 단지 일관되게 나에게 시간 오프셋 (예 : -8)과 로케일 (예 : en_US)을 제공합니다.

utcTime + offset >= userTime을 순진하게 확인하면 일광 절약 시간제에 따라 때때로 꺼집니다.

이 문제를 해결하기위한 권장 방법은 무엇입니까?

차이가있는 경우 데이터를 Postgres에 저장하고 있습니까? 그것은 약간의 시간 기능을 가지고 있습니다.

+0

, 그것은 모든 – xShirase

답변

0

momentjs을 살펴보십시오. 날짜와 시간으로 작업 할 때 훌륭한 라이브러리, 특히 UTC support.

당신을 위해, 주어진 시간을 가지고 그것을 UTC 시간으로 바꾸고 비교하십시오.

날짜 조작을위한

var nodeTime = moment.utc(serverValue); var facebookTime = moment.utc(facebookValue); nodeTime.isAfter(facebookTime); // => true or false

+0

쉽게이 일광 절약를 감지하지 않습니다 변경합니다, http://momentjs.com/를 사용합니다. – kjs3

+0

momentjs 문서를 살펴보십시오. 그것들에 대한 쿼리도 있습니다. [isDST()] (http://momentjs.com/docs/#/query/is-daylight-saving-time/) 아마 여러분의 유스 케이스에 유용 할 것입니다. 정말로 걱정되는 경우, 타임 스탬프로 변환하고 해당 밀리 초를 비교하십시오. 그런 식으로 시간대가 중요하지 않습니다. 자세한 내용은이 답변을 참조하십시오. http://stackoverflow.com/questions/26873200/momentjs-getting-javascript-date-in-utc/26890639#26890639 – clay

관련 문제