从城市和州/省或邮编获取时区偏移



我有一个asp.net网站,它将使用EST时间托管在服务器上,并且可能会在运行EST的计算机/设备上创建。用户将更新北美各地的相关信息。我需要更新的时间戳在进行更新的位置的本地时间,而不是服务器或计算机时间。因此,我需要能够根据城市和州/省或邮政编码获得位置的偏移量。我已经看过了http://www.earthtools.org/webservices.htm#timezone它需要纬度和经度,而我没有。

您可以从谷歌地图中退出纬度和经度。

例如,地址为"123 Street,Los Angeles,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转换为用户的本地时间。

相关内容

  • 没有找到相关文章

最新更新