猜测用户';PHP中的s时区
从PHP5.3开始(我认为),需要在猜测用户';PHP中的s时区,php,timezone,Php,Timezone,从PHP5.3开始(我认为),需要在php.ini文件中设置date.timezone,或者通过函数在运行时设置。如果不设置此值,则会出现一个错误,大致如下所示: PHP警告::依赖系统的时区设置是不安全的。您需要使用date.timezone设置或date\u default\u timezone\u set()函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,则很可能是您拼错了时区标识符。我们在文件在线行中为“-4.0/DST”选择了“美国/纽约” 我想知道它使用什么机制来猜测时区,
php.ini
文件中设置date.timezone
,或者通过函数在运行时设置。如果不设置此值,则会出现一个错误,大致如下所示:
PHP警告::依赖系统的时区设置是不安全的。您需要使用date.timezone设置或date\u default\u timezone\u set()函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,则很可能是您拼错了时区标识符。我们在文件在线行中为“-4.0/DST”选择了“美国/纽约”
我想知道它使用什么机制来猜测时区,因为它似乎非常准确,我想自己知道,这样我可以以更友好的方式向用户显示此错误,或者允许他们接受此错误作为正确的时区。我可能会使用
日期\u默认\u时区\u get()
函数:
按照优先顺序,此函数
通过以下方式返回默认时区:
- 使用日期\默认\时区\集()读取时区集 功能(如有)
- 读取TZ环境变量(如果非空)(在PHP之前) 5.3.0)
- 读取date.timezone ini选项的值(如果设置)
- 查询主机操作系统(如果支持并允许) (操作系统)
我可能会使用
date\u default\u timezone\u get()
函数:
按照优先顺序,此函数
通过以下方式返回默认时区:
- 使用日期\默认\时区\集()读取时区集 功能(如有)
- 读取TZ环境变量(如果非空)(在PHP之前) 5.3.0)
- 读取date.timezone ini选项的值(如果设置)
- 查询主机操作系统(如果支持并允许) (操作系统)
迈克的方法只会让你知道网络服务器的时区。 我相信您正在尝试获取用户的时区。 我使用jQuery和PHP编写了一个函数。这是经过测试的,确实有效 在希望将时区作为变量的PHP页面上,将以下代码片段放在页面顶部附近:
<?php
session_start();
$timezone = $_SESSION['time'];
?>
这将读取会话变量“time”,我们现在要创建它
在同一页面的中,首先需要包括jQuery:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
另外,在jQuery下面的中,粘贴以下内容:
<script type="text/javascript">
$(document).ready(function() {
if("<?php echo $timezone; ?>".length==0){
var visitortime = new Date();
var visitortimezone = "GMT " + -visitortime.getTimezoneOffset()/60;
$.ajax({
type: "GET",
url: "http://domain.com/timezone.php",
data: 'time='+ visitortimezone,
success: function(){
location.reload();
}
});
}
});
</script>
$(文档).ready(函数(){
如果(“.”长度==0){
var visitortime=新日期();
var visitortimezone=“GMT”+-visitortime.getTimezoneOffset()/60;
$.ajax({
键入:“获取”,
url:“http://domain.com/timezone.php",
数据:“时间=”+访问时区,
成功:函数(){
location.reload();
}
});
}
});
您可能注意到了,也可能没有注意到,但是您需要将url更改为您的实际域
最后一件事。您可能想知道什么是heck timezone.php。那么很简单,
(创建一个名为timezone.php的新文件,并用上面的url指向它)
如果工作正常,它将首先加载页面,执行JavaScript,然后重新加载页面。然后,您将能够读取$timezone变量并根据自己的喜好使用它!它返回当前UTC/GMT时区偏移(GMT-7)或您所在的任何时区
干杯
迈克的方法只会让你知道web服务器的时区。
我相信您正在尝试获取用户的时区。
我使用jQuery和PHP编写了一个函数。这是经过测试的,确实有效
在希望将时区作为变量的PHP页面上,将以下代码片段放在页面顶部附近:
<?php
session_start();
$timezone = $_SESSION['time'];
?>
这将读取会话变量“time”,我们现在要创建它
在同一页面的中,首先需要包括jQuery:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
另外,在jQuery下面的中,粘贴以下内容:
<script type="text/javascript">
$(document).ready(function() {
if("<?php echo $timezone; ?>".length==0){
var visitortime = new Date();
var visitortimezone = "GMT " + -visitortime.getTimezoneOffset()/60;
$.ajax({
type: "GET",
url: "http://domain.com/timezone.php",
data: 'time='+ visitortimezone,
success: function(){
location.reload();
}
});
}
});
</script>
$(文档).ready(函数(){
如果(“.”长度==0){
var visitortime=新日期();
var visitortimezone=“GMT”+-visitortime.getTimezoneOffset()/60;
$.ajax({
键入:“获取”,
url:“http://domain.com/timezone.php",
数据:“时间=”+访问时区,
成功:函数(){
location.reload();
}
});
}
});
您可能注意到了,也可能没有注意到,但是您需要将url更改为您的实际域
最后一件事。您可能想知道什么是heck timezone.php。那么很简单,
(创建一个名为timezone.php的新文件,并用上面的url指向它)
如果工作正常,它将首先加载页面,执行JavaScript,然后重新加载页面。然后,您将能够读取$timezone变量并根据自己的喜好使用它!它返回当前UTC/GMT时区偏移(GMT-7)或您所在的任何时区
干杯
我知道这是不明显的,但我不是为了web开发而这样做的。在这个例子中,我在一个运行在客户端桌面上的应用程序中使用PHP。我知道这是不明显的,但我并不是为了web开发而这样做的。在这个例子中,我在一个运行在客户端桌面上的应用程序中使用PHP。没关系。每个人都有大脑放屁,看看我的问题清单吧!;)没关系。每个人都有大脑放屁,看看我的问题清单吧!;)那很酷。我不是在寻找客户机的时区,但我将在我的另一个项目中使用此代码。干得好,这