2008-10-28 8 views
6

"올바른"시간은 다양한 방법으로 해석 될 수 있으므로 솔직히 느낄 수있는 '정확한 시간'을 웹 사이트에 표시하라는 요청을 받았습니다.웹 사이트에서 정확한 현지 시간을 표시 하시겠습니까?

서버의 datetime을 매개 변수로 사용하여 onload를 실행하는 JavaScript를 렌더링하는 서버 컨트롤을 사용하여 현재 페이지에서 렌더링 한 다음 증분을 시작하는 JavaScript에서 시계 개체를 만드는 우리의 현재 메서드는 부정확 한 결과를 가져옵니다. 시계. 서버 처리, 네트워크 대기 시간 및 클라이언트 측 성능 사이에 (온로드를 실행하는 다른 많은 것들이 있습니다.) 클럭은 실제 서버 시간에서 벗어나 클라이언트 PC와 비교하여 누가 알 수 있습니다.

그래서 '올바른 시간'을 얻으려면 다음과 같이하십시오.

  • 로컬 PC 시간을 사용하고 새 Date()를 JavaScript 시계 개체에 전달하십시오. 장점 : 가능한 한 PC 클럭에 가까워 야합니다. 단점 : PC 시계가 얼마나 정확한 시간대인지는 모르겠습니다.
  • 웹 페이지에서 시계를 업데이트하기 위해 NTP 서버에 대한 TCP 요청에 웹 서비스를 사용합니다. 장점 : 로컬 PC에서도 NTP와 동기화가 이루어지면 가장 정확하고 일치 할 수 있습니다. 단점 : 서버와 관련된 모든 표준 시간대 조정을 처리해야합니다. PC 시계가 꺼져 있으면 여전히 불일치가 발생합니다.

내 웹 서비스를 구현하거나 다음과 같은 것을 사용합니까? Earth Tools 또는 세계 시간 웹 서비스 (편집 : 링크를 제거 - 이제 404)

여기에 꽤 오래 Jon Galloway on Atomic Clock Web Service에서 블로그 포스트 아직 내가 구글 그는 결론에 도달하지 않을 때 높은 시설이다.

hoopfully 나는 시간대가 아닌 경우 왜 우리 서버 시계 (GMT)와 동기화하면 왜 로컬 PC와 일치해야하는지 경영진과 논의 할 수 있습니다.

이 부분에 어떤 각도가 있습니까?

+0

시계의 목적은 무엇입니까? 어떤 해상도가 필요합니까? 초입니까? 의사록? 클라이언트 측 로컬 시간대에 대한 디스플레이가 있습니까? –

+0

나는 모든 것을 UTC에서 개인적으로, 특히 서버에서 실행합니다. UTC로 13:47로 시간을 게시하면 혼동이 없습니다. 그 문제에 관해서는, 둘 다 모든 것을 위해 PT를 사용하는 eBay의 시스템에는 없다. – warren

답변

2

경매 웹 앱에서 고객에게 정확한 시간을 보여줘야했습니다. 페이지와 함께 현재 서버 시간을 보내고 나머지 페이지가로드 될 때까지 기다리지 않고 바로 자바 스크립트를 초기화 할 수 있습니다. 따라서 최악의 경우에는 2 초 이상되지 않을 가능성이있는 네트워크 대기 시간 만 처리합니다.

그 후에 정확한 시간에 가까워집니다. Javascript 타이머 코드가 올바로 작성되면 다음 페이지가로드되기 전에 멀리 떨어져 있지 않습니다. 하지만 JS 클럭 코드를 많이 보았습니다. (힌트 : Date() good, setTimeout() bad.)

사용자가 오랫동안 앉아있을 응용 프로그램이있는 경우 페이지 또는 Ajax를 다시로드하여 시간 동기화를 새로 고침하십시오.

시간대에 대해 걱정할 필요가 없습니다. UTC 시간을 사용하면 시간이 어떻게 될지에 대한 혼란이 없습니다.

+0

"네트워크 대기 시간이 최악의 경우 2 초 이상되지 않을 것"- 작업 웹 앱에서 2 초가 걸렸습니다. – bzlm

+1

이상적은 아니지만 네트워크 응용 프로그램은 대기 시간을 처리해야합니다. 경매에서 중요한 것은 경쟁 업체의 상황이나 서버 시계에 따라 마감 시간 이후에 수신 된 게시물을 방지하는 데주의를 기울 였기 때문입니다. – Sal

0

geo targeting을 사용하면 웹 사이트 방문자의 실제 위치를 알 수 있고 데이터베이스에 (GMT-XX : XX) 영역을 저장 한 다음 요청 위치를 기반으로 시간을 계산할 수 있습니다. 그것은 제 3 자 웹 서비스에 대한 장거리 여행을 저장하려고합니다.

+0

오스카는 분명하지 않은 방식으로 중요한 포인트를 만듭니다. 일부 시간대에는 비 정수 시간 오프셋이 있습니다. 나는 그들이 정말로 정교한 농담 인 몇 개를 제외하고 모두 30 분의 증분이라고 생각한다. 그래도 확인하십시오. – rmeador

1

먼저 클라이언트가 Windows, Linux 및 OSX에 시계가 내장되어있어 사용자가 거의 항상 볼 수 있거나 쉽게 볼 수 있음을 알고 있어야합니다. 또한 클라이언트가 운영 체제에서 내장 시계를 숨기도록 설정 될 수있는 키오스크 근처에있는 실제 시계를 알고 있는지 확인하십시오.

클라이언트가 여전히 웹 사이트에서 시계를 원한다면 클라이언트가 "정확한"시간을 정의하게 한 다음 해당 정의와 일치하는 솔루션을 구현하십시오 (둘 다 솔루션이 두 가지 가장 가능성있는 정의).

0

구현할 수있는 또 다른 방법은 IP Geolocation입니다. 사용자가 IP (보통 시간대 포함)를 기반으로 연결하는 위치를 알려주고 해당 정보를 서버의 실시간 시계와 결합하면 사용자에게 현지 시간을 보여줄 수있는 서비스가 있습니다.

어딘가에서 연결하는 것처럼 보일 수도있는 기업 사용자에게 특히 멀었습니다 (저는 아르헨티나에 살고 있지만, 직장 내 인터넷 연결은 미국 회사 인 내 employeer입니다. 따라서 모든 웹 사이트에서 미국 내 위치)

0

처리 시간 (UTC).

  • 는 그들이 사용하고 싶은 영역에게 사용자 되세요.
  • 사용자가 지속적 프로필을 가지고있는 경우 선택 항목을 유지하십시오.
  • 항상 UTC와 현지 시간을 나란히 표시하고 명확하게 표시하십시오.

사용자 지정 영역 클럭의 임의의 수를 표시 할 수도 있습니다. Vista 이 작업을 수행하면 얼마나 놀랍습니까? 편리합니다.

관련 문제