php – 如何使用jquery获取用户时区?
我希望他们的时区有’亚洲/加尔各答’或’澳大利亚/达尔文’这样的名字
我在myserver上安装了php,其时间设置为’UTC’
这是我在这里的第一篇文章,但希望我可以帮助别人.我感到被迫,因为这个网站对我帮助很大.谢谢stackoverflow成员!
http://www.pageloom.com/automatic-timezone-detection-with-javascript 根据我对这个JavaScript代码的理解,它非常准确,并且能够从UST返回偏移量,相应的Olson数据库时区名称,并处理夏令时问题(例如-5:00,America / New_york,true ). http://www.php.net/manual/en/timezones.america.php 上面的链接只是php支持的时区参数的列表,据我所知,这个JavaScript代码(我确信这是有益的,我只是不知道为什么我还在编写我的代码而且我是有点新的php / mysql). 在将此代码用于您的html页面后,您将面临的唯一障碍可能是将这些值传递给php,然后再获取mysql,如果这是您需要的.我通过使用JQuery将这些值作为$.post发送来实现这一点.我认为这是最简单的方法(如果我错了,请有人纠正我).我相信其他选择使用AJAX命令(更复杂)或cookie(我认为?). 在我从Java脚本代码到服务器(PHP)的值之后,我将它们存储为会话变量,这样如果我站点上的用户从通常的不同时区登录,它们就会改变.但是,它们也可以很容易地保存到数据库中. 如果您使用JQuery路由,则需要在html文档的标题中执行$.post. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 可以在我发布的第一个网址上找到最新的timezonedetect脚本. //replace this comment with the most updated timezonedetect code from that first link var timezone = jstz.determine_timezone(); var tzoffset = timezone.offset(); var tzname = timezone.name(); var tzdst = timezone.dst(); $.post("scripts/tzdetect.php",{ tzoffset: tzoffset,tzname: tzname,tzdst: tzdst } ); 在这种情况下,如果您希望将数据存储为会话变量,则tzdetect.php中的接收文件应如下所示. <?php session_start(); $_SESSION['tzname'] = $_POST['tzname']; $_SESSION['tzoffset'] = $_POST['tzoffset']; $_SESSION['tzdst'] = $_POST['tzdst']; ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |