2012-01-12 2 views
0

나는 EST 시간을 사용하는 서버에서 호스팅되며 EST에서 작동하는 컴퓨터/장치에서 작성 될 asp.net 웹 사이트를 보유하고 있습니다. 사용자는 북미 전역의 위치 정보를 업데이트합니다. 서버 또는 컴퓨터 시간이 아닌 업데이트가 수행되는 위치의 현지 시간에 업데이트 타임 스탬프가 필요합니다. 그래서시와 주 /도 또는 우편 번호를 기반으로 한 위치에 대한 오프셋을 가져올 수 있어야합니다. 나는 이미 http://www.earthtools.org/webservices.htm#timezone을 보았고 위도와 경도가 필요하다.도시 및시 /도 또는 우편 번호에서 오프셋 시간대 가져 오기

+0

지오 IP는 컴퓨터의 지리적 위치를 결정하기 위해 IP 주소를 사용합니다. –

+0

내가 말했듯이 사용자는 동부 해안을 기반으로하므로 컴퓨터 시간은 EST입니다. 그건 내가 필요한 것이 아니다. – jmease

답변

1

Google지도에서 위도와 경도를 퇴직시킬 수 있습니다. 예를 들어

는, 주소가 '123 거리, 로스 앤젤레스, CA 12345'또는 주소는 우편 번호입니다 만 '12346'

public void GetCoordinate(string address) 
{ 
    WebClient client = new WebClient(); 
    Uri uri = new Uri(String.Format("http://maps.google.com/maps/geo?output=csv&q=" + HttpUtility.UrlEncode(address))); 

    // Return numbers - 
    // 1 = Status Code 
    // 2 = Accurancy 
    // 3 = Latitude 
    // 4 = Longitude 
    string[] geocodeInfo = client.DownloadString(uri).Split(','); 

    decimal latitude = Convert.ToDecimal(geocodeInfo[2]);     
    decimal longitude = Convert.ToDecimal(geocodeInfo[3]);    
} 

내가 UTC의 생성/업데이트 시간을 절약 좋습니다. 이를 표시 할 때 사용자의 표준 시간대 오프셋 (사용자 프로필에 저장 됨)에 따라 해당 UTC를 사용자의 현지 시간으로 변환합니다.

관련 문제