2013-04-02 2 views
3

Google 표준 시간대 API를 사용하려고합니다. 경도와 위도를 제공하고 API가 시간대를 제공합니다.google지도 시간대 현지 시간 설정

다음 값 (dstOffset 및 rawOffset)을 사용하여 로컬 시간을 가져 오는 방법은 무엇입니까?

는 여기에 내가이 자바 스크립트 함수를 시도하지만 정확한 시간을하지 않는 JSON

{ 
    "dstOffset" : 0.0, 
    "rawOffset" : -28800.0, 
    "status" : "OK", 
    "timeZoneId" : "America/Los_Angeles", 
    "timeZoneName" : "Pacific Standard Time" 
} 

입니다.

function calcTime(offset) { 
    var d = new Date(); 
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000); 
    var nd = new Date(utc + (3600000*offset)); 

    alert("The local time is " + nd.toLocaleString()); 
} 

calcTime(-28800.0); 

도움 주셔서 감사합니다.

답변

4

끝났습니다. 문제는이 줄에 있습니다 :

var nd = new Date(utc + (3600000*offset)); 

Json에 의해 주어진 오프셋은 초로 나타납니다. 당신은 그것을 몇 시간 안에있는 것처럼 취급합니다. 다음으로 변경하고이 작업을 시작해야합니다

여기
var nd = new Date(utc + (1000*offset)); 

는 작업 jsFiddle입니다.

+0

도시 London에서 예상대로 작동하지 않습니다. 반환되는 rawOffset은 '0'입니다. 마지막 시간에는 1 시간 지연이 있습니다. 이 계산 방법에 대해 간단히 설명해주십시오. – Wishnu