我感兴趣的是检索当前的zoneinfo字符串("America/Los Angeles“、"Europe/London”等)。用户当前在JavaScript中为其操作系统设置的。我已经找到了如何获取当前偏移量(以秒为单位)、特定日期的偏移量以及不太精确的时区(PST等)。但不是Olson zoneinfo。这个是可能的吗?
发布于 2011-08-22 03:08:24
几个月前,我研究了这个问题,结果是:http://site.pageloom.com/automatic-timezone-detection-with-javascript。该脚本不会给您提供最精确的结果。例如,无论您位于中欧时区的哪个位置,它都将返回欧洲/柏林。
基本上,它做的所有事情都是在夏令时转换发生时检查已知日期。
希望这能有所帮助。
发布于 2009-03-03 22:22:37
参见fleegix.js's date.Date plugin。你也许可以只破解parts you need
function getRegionForTimezone(tz) {
var exc = regionExceptions[tz];
if (exc) {
return exc;
}
else {
reg = tz.split('/')[0];
return regionMap[reg];
}
}发布于 2009-03-03 22:20:40
不是的。抱歉的!您可能能够使用TimeZone通过Java applet获得它,但是从JavaScript获得的只是UTC的偏移量。(从时区名称猜测是不可靠的,因为名称依赖于区域设置。您可能可以通过匹配UTC偏移量来检测一些常见的情况,但这将是一项大量的工作。)
通常,如果您希望支持像Olson一样细粒度的时区,您可以给用户一个显式的、可选择的时区控制。
https://stackoverflow.com/questions/608423
复制相似问题