php 获取客户端请求的时区,php – 如何使用jquery获取用户时区?

这是我在这里的第一篇文章,但希望我可以帮助别人.我感到被迫,因为这个网站对我帮助很大.谢谢stackoverflow成员!

根据我对这个JavaScript代码的理解,它非常准确,并且能够从UST返回偏移量,相应的Olson数据库时区名称,并处理夏令时问题(例如-5:00,America / New_york,true ).

上面的链接只是PHP支持的时区参数的列表,据我所知,这个JavaScript代码(我确信这是有益的,我只是不知道为什么我还在编写我的代码而且我是有点新的PHP / MysqL).

在将此代码用于您的html页面后,您将面临的唯一障碍可能是将这些值传递给PHP,然后再获取MysqL,如果这是您需要的.我通过使用JQuery将这些值作为$.post发送来实现这一点.我认为这是最简单的方法(如果我错了,请有人纠正我).我相信其他选择使用AJAX命令(更复杂)或cookie(我认为?).

在我从Java脚本代码到服务器(PHP)的值之后,我将它们存储为会话变量,这样如果我站点上的用户从通常的不同时区登录,它们就会改变.但是,它们也可以很容易地保存到数据库中.

如果您使用JQuery路由,则需要在html文档的标题中执行$.post.

可以在我发布的第一个网址上找到最新的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中的接收文件应如下所示.

session_start();

$_SESSION['tzname'] = $_POST['tzname'];

$_SESSION['tzoffset'] = $_POST['tzoffset'];

$_SESSION['tzdst'] = $_POST['tzdst'];

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值