我正在用Java实现一个Android应用程序,我希望能够用用户的时区验证用户的物理地址信息。例如,用户可以输入日本标准时间,但地址可能在美国,这显然是错误的。我该如何验证?我正在使用AOSP的TimeZonePicker获取时区详细信息。
我知道我可以在物理地址中查看时区的国家和用户列出的国家/地区,但有些国家/地区有多个时区,因此这并不适用于所有情况。我认为使用城市,州和国家可能是最好的,因为像田纳西州这样的州在该州有多个时区。
答案 0 :(得分:0)
查询Google时区API以返回所提供位置的状态和时区。
如果您没有使用任何位置提供传感器,您可以将地址反向地理定位到纬度和经度坐标。
获得坐标后,请查询Google TimeZone API
您将获得时区名称和时区ID的响应:
{
"dstOffset" : 0.0,
"rawOffset" : -28800.0,
"status" : "OK",
"timeZoneId" : "America/Los_Angeles",
"timeZoneName" : "Pacific Standard Time"
}
此后的验证逻辑取决于您。