Pet*_*aig 11 javascript php timezone
我经常需要根据用户的实际本地时间或受时区影响而显示信息.获取用户当前时间和/或时区是否有可靠的方法?
关键问题:
关键问题:
例子:
倒数:
只需1小时3分56秒!
问题:基于什么去的几秒钟; 用户的OS时钟,主机服务器时间(正负偏移),ISP系统时间.如果所有时区的时钟同时结束,这很容易,但如果它是用户本地时区的午夜倒计时,则会更加棘手)
编辑日志
项目发布于3:03 pm(10秒前)
问题:无论用户如何计算"10秒",调整时间以匹配用户的时区.
营业时间:
这家餐厅现在营业至午夜(AEST).
问题:给出午夜等时间可以通过从服务器端偏移来计算,但是使用psudo时间(例如现在),在2小时内取决于用户的时间.
PHP:使用time()输出服务器时间.这可以根据用户的时区进行偏移.
JavaScript:使用Date()输出用户的计算机时钟时间太容易操作.
Jas*_*wig 12
使用JavaScript,有一种方法可以让用户获得当前时区偏移量.
new Date().getTimezoneOffset() * -1
Run Code Online (Sandbox Code Playgroud)
从GMT返回以分钟为单位的偏移量.请勿存储此值,因为它可能会根据夏令时变化.如果你需要它在服务器(PHP)上,那么你需要在发送它时捕获它.
不幸的是,HTTP规范不会将用户时区作为标头发送,这是php需要的.
总之没有.
我建议使用服务器端时间,并且能够让用户选择他们的时区.
您可以根据IP地址周围的启发式方法计算用户的默认时区,但这是错误的.
您应该能够通过javascript/Ajax提取客户端时区信息,但与时间本身一样,这也是错误的.
我的建议:让用户根据您期望用户的位置选择具有合理默认值的时区.
| 归档时间: |
|
| 查看次数: |
29743 次 |
| 最近记录: |