我在寻找最好的做法/解决国际预订服务,使用同一时间在任何浏览器。 我不完全得到逻辑(这里太周围挖)。
用例
- 用户在布鲁塞尔预订可以说,总部设在新加坡的理发服务 - 他在一个星期飞那里。 他拿起在浏览器日期时间控制14:00。 该浏览器,但是,设置为+1 UTC。
- SG发型师应该看到的时间在他的议程14:00 SG时间。
- 理发店老板在迪拜旅行,他希望仍然可以看到他的日程在SG时区,尽管他的浏览器临时设置为+4 UTC。
基本上,所有的角色都必须看“理发店”当地时间不管是什么TZ他们都在,并在“商店”时间报告给服务器。
服务器时间是UTC,时间戳在UNIX秒。 “商店” TZ是已知的。
问题是,我用夫妇利用浏览器当地时间内部的jQuery插件(的DateTimePicker和日历),并有几千行代码来分析和修复,使其不太支持的 - 浏览器(布鲁塞尔|其他任何TZ)为每一个“新的Date()”将获得本地浏览器的时间。 有相当长的一段狭窄的地方以及(如这些想象中的“理发店”在全球范围内找到并从地图采摘,因此目标TZ是动态的)。
什么是针对常见的做法?
是不是更容易
- 在JS模拟“动态”基准日不关心时区,并喂插件
- 加载到客户端时转换服务器数据到本地TZ
- 适用于一些其他的解决办法
非常感谢
PS我看过最好的做法 -但正如我所说,我有点绑定到使用特定的插件。
解决方案 :
我意识到,我是我从来没有需要比较不同的“理发店”时间上的书不需要这些日期时间的相对值(有LAT /每个“店铺” LNG如果需要的话我还可以重计算的相对时间)。
基本上,我只需要绝对 UTC值无论时区,并在这种情况下UNIX时间(秒自1970年以来UTC)完全吻合。
取而代之的修正通过用户的浏览器在客户端偏移的时候,把它发送到后台,并通过目标偏移有固定它,现在我跑明确的UTC日期整个系统,无论是在客户端和服务器/数据库边,存储和显示所有角色,具有唯一例外的日期/时间过滤器,这必将对本地浏览器时钟和不存储。