好吧,我得到了与众不同的方法:
首先,我事先假设了一些东西。
列出活动的人拥有智能手机(如果是浏览器,则无需做出这些假设)具有以下功能:
全球定位系统
HTML5功能。
Javascript功能
如何将时间戳保存在数据库中?
解决方案:显然是UTC,我覆盖了以下程序:
步骤1.使用地理位置使用地理位置API的用户
window.onload = getMyLocation;
function getMyLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(displayLocation);
} else {
alert("Oops, no geolocation support");
}
}
function displayLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var div = document.getElementById("location");
div.innerHTML = "You are at Latitude: " + latitude + ", Longitude: " + longitude;
}
步骤2.将(Long,Lat)作为对诸如Yahoo API(使用Flag R将Latitude转换为时区)的TimeZone api中的某些((Lat,Long))的争论,以获取用户的时区。
=> 用户时区是在没有用户输入的情况下确定的(我正在使用它,是因为您不能简单地假设用户知道他所居住的时区,我只在几个月后才知道我的时区:P,太蠢了! )
每个Event表具有Timezone
,Event
&也可以具有,CityName
然后创建另一个基于CityName
s 进行分类的数据库表。所以这里用户将有两列
|---------------------------------------|
|_____NewYork________|______Sydney______|
| | |
|Event 1 | Event 2 |
|____________________|__________________|
对于UI
=>使用Google Calendar API或某些Calendar API
相关阅读:
从纬度/经度确定时区,而无需使用Geonames.org等网络服务
从纬度经度查找时区
我知道它只是说明如何解决此问题。但是,查看使用设备API确定时区时,它对用户的准确性和轻量级
希望能帮助到你!