Javascript 是否可以通过web请求确定用户的时间?

Javascript 是否可以通过web请求确定用户的时间?,javascript,time,Javascript,Time,在web服务器上是否可以确定用户发送请求时的本地时间和时区 是否可以使用javascript捕获它并将其发布回服务器 我的公司想追踪有多少用户在办公时间以外使用我们的网站(不,我也不知道为什么!) 谢谢。您需要将客户端的JavaScript时间放入一个隐藏字段中,并假设其时钟设置正确 myTime = new Date() >> Tue Feb 03 2009 12:24:28 GMT-0500 (Eastern Standard Time) 您可以使用JavaScript将日期加

在web服务器上是否可以确定用户发送请求时的本地时间和时区

是否可以使用javascript捕获它并将其发布回服务器

我的公司想追踪有多少用户在办公时间以外使用我们的网站(不,我也不知道为什么!)


谢谢。

您需要将客户端的JavaScript时间放入一个隐藏字段中,并假设其时钟设置正确

myTime = new Date() >> Tue Feb 03 2009 12:24:28 GMT-0500 (Eastern Standard Time)

您可以使用JavaScript将日期加载到隐藏字段中:

var newDate = new Date();
hiddenFieldName.value = newDate.toLocaleString();
var now = new Date();

然后在回发到服务器时,获取该字段。

JavaScript确实是一种方法

幸运的是,网络已经成功了。看起来很全面


需要注意的是,了解某人的当前偏移量与了解他们的时区并不相同,但对于您的目的来说,这可能已经足够了:)

您可以使用JavaScript读取浏览器的本地时间:

var newDate = new Date();
hiddenFieldName.value = newDate.toLocaleString();
var now = new Date();

然后,您可以使用XmlHttpRequest或隐藏的表单字段将其发送到服务器…

当然,您可以嵌入一个JS派生的客户端时间戳,并将其发送回附加到其他请求,但这是完全不可靠的,因为用户可以将其客户端时间设置为他们想要的任何时间,它需要第二个请求,这可能有点滥用,或者在技术上难以保证。很多实现都会通过fire和忘记对文本文件的AJAX请求,或者向页面添加一个空白像素图像来实现这一点


您可以尝试基于第一个请求导出一个类似的度量,并定位一个IP位置和GMT时间戳给您一个本地时间——但是如果您还没有一个IP/GEO数据库,那么这可能是昂贵的):

< P>您应该考虑对现有Web服务器日志的反向DNS解析。然后,您可以使用地理编码来猜测用户的时区(以及他们相对于web服务器时间的本地时间)

您不需要编写新的JavaScript代码、编写自定义服务器端代码来记录用户时间,然后部署更新的网站


这个Perl脚本可能是一个很有帮助的例子:

谢谢大家,我意识到这取决于用户的时钟设置是否正确。这是回发的一个优点,除非我使用AJAX,否则它对初始请求不起作用。请帮个忙,改用newDate.toutString()。toLocaleString提供用户语言中的字符串。