Javascript - 모든 컴퓨터에서 getTime()을 균일하게 만들려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/6380385

  •  28-10-2019
  •  | 
  •  

문제

지금은 데스크탑과 노트북에 다른 번호가 표시됩니다.

도움이 되었습니까?

해결책

getTime()은 현지 시간 설정을 사용합니다.시간 설정은 다음 두 위치 중 하나에서 변경할 수 있습니다.

  1. 귀하의 OS(예: Windows)는 시간을 관리할 수 있습니다.작업 표시줄에서 두 번 클릭하세요.
  2. OS는 시스템 BIOS에 의존합니다. 이는 마더보드의 mobo에 배터리가 설치되어 있는 이유 중 하나입니다(시스템 장애 시 시간과 설정 유지). BIOS 시간 수정 사항이 OS에 반영되어야 합니다. 결과적으로 JavaScript에서는

대안은 서버와 같은 하나의 소스에서 시간을 가져오는 고유한 getTime 함수를 만드는 것입니다.네트워크 호출을 최소화하려면 이 시간을 한 번 가져오는 동시에 getTime()을 호출하는 것이 좋습니다.그런 다음 필요할 때 다시 getTime()을 실행하고 차이를 빼고 서버 시간에 추가합니다. 메모: 시간이 중요하다면 사용자가 시스템 시계를 쉽게 변경할 수 있으므로 이에 반대하는 것이 좋습니다.

그렇지 않고 컴퓨터가 동일한 네트워크에 있는 경우 스케줄러와 일괄 프로세스를 사용하여 시간을 동기화할 수 있습니다. 완벽하지는 않지만 충분히 근접할 것입니다.

다른 팁

JavaScript getTime() 방법을 사용하는 대신 사용 사례를 재고해야합니다.

양식 제출 (예 : 댓글 또는 양식 게시물)에 타임 스탬프를 지정하려면 POST를 처리 할 때 서버에서 타임 스탬프를 생성하도록해야합니다.

클라이언트 측에서 일관된 시간을 유지하려면 타임 스탬프를 반환하는 간단한 웹 애플리케이션에 대한 ajax 호출을 고려하십시오.직접 작성하거나 Yahoo의 시간 서비스 <를 사용할 수 있습니다./ p>

시계를 동기화합니다.

OS에는 네트워크 시간 서비스를 사용할 수있는 옵션이 있어야합니다.여전히 약간의 차이가있을 수 있지만 1 ~ 2 초를 넘지 않아야합니다. 대부분의 목적에 충분합니다.얼마나 가까이 있어야합니까?

getTime ()은 컴퓨터의 시스템 시간을 가져옵니다.그러나 정말로 동기화가 필요한 경우 보유한 웹 서버와 동기화하는 것이 가장 좋습니다.건배!

적어도 자바 스크립트만으로는 불가능합니다.JavaScript는 클라이언트 시스템의 시스템 정보를 사용하여 시간을 결정합니다.이제 다른 시간대에있는 경우 UTC() 함수를 사용하여 UTC 기준 (1970 년 1 월 1 일 자정부터 초)으로 가져올 수 있지만 동기화되지 않을 가능성이 큽니다.

여러 가지 이유가있을 수 있습니다.가장 가능성이 높은 원인 :

  • 시계가 동일하게 설정되지 않을 수 있습니다.하나 (또는 둘 다)가 잘못되었을 수 있습니다.
  • 시계가 다른 시간대를 사용하고있을 수 있습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top