如何使用时区验证物理地址

时间:2014-11-16 15:04:51

标签: java android validation timezone

我正在用Java实现一个Android应用程序,我希望能够用用户的时区验证用户的物理地址信息。例如,用户可以输入日本标准时间,但地址可能在美国,这显然是错误的。我该如何验证?我正在使用AOSP的TimeZonePicker获取时区详细信息。

我知道我可以在物理地址中查看时区的国家和用户列出的国家/地区,但有些国家/地区有多个时区,因此这并不适用于所有情况。我认为使用城市,州和国家可能是最好的,因为像田纳西州这样的州在该州有多个时区。

1 个答案:

答案 0 :(得分:0)

查询Google时区API以返回所提供位置的状态和时区。

如果您没有使用任何位置提供传感器,您可以将地址反向地理定位到纬度和经度坐标。

获得坐标后,请查询Google TimeZone API

  

https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331161200&key=API_KEY

您将获得时区名称和时区ID的响应:

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

此后的验证逻辑取决于您。

相关问题