需要在php中按用户时区存储日期

需要在php中按用户时区存储日期,php,date,Php,Date,我有一个简单的php脚本,其中有一个变量 $date = date('Y-m-d', time()); 问题:变量根据我的服务器时区存储日期 需要什么:我想按用户时区存储日期,请查看 示例如下: 1-汤姆从美国登记 2-来自亚洲的jenne签入 因为有12个小时。不同,所以日期有时也会不同 这里有一些例子,但它不是动态的 现在我到底在看什么 1-如果是汤姆,$日期应为18 晚上11:38 2017年4月18日星期二(GMT-5) 美国伊利诺伊州芝加哥时间 2-如果是jenne$日期应为19

我有一个简单的php脚本,其中有一个变量

$date = date('Y-m-d', time());
问题:变量根据我的服务器时区存储日期

需要什么:我想按用户时区存储日期,请查看

示例如下:

1-汤姆从美国登记

2-来自亚洲的jenne签入 因为有12个小时。不同,所以日期有时也会不同

这里有一些例子,但它不是动态的

现在我到底在看什么

1-如果是汤姆,$日期应为18 晚上11:38 2017年4月18日星期二(GMT-5) 美国伊利诺伊州芝加哥时间

2-如果是jenne$日期应为19 上午9:40 2017年4月19日星期三(格林尼治时间+5)
拉合尔时间

使用此功能设置时区,您可以根据用户设置时区,然后获取所需格式


在评论部分编写代码很难,所以我在这里为您发布了一个有效的答案

<?php
// here $usertimezone should be set = to what you have in your database
$usertimezone="Asia/Shanghai"; 

date_default_timezone_set('"'.$usertimezone.'"'); 

//new date and time
$ndate= new datetime();
//split into date and time seperate
$nndate =$ndate->format("Y-m-d");
$nntime= $ndate->format("H:i:S");
//here you can test it
echo $nndate;
echo $nntime;
?>


你真的想用不同的时区设置当前时间吗?@SahilGulati,是的,现在我想转换美国/芝加哥时间,即2017年4月18日星期二晚上11:38(GMT-5)(到2017年4月19日星期三(GMT+5)Lahow中的时间每个用户的偏移量或时区是多少?您应该获得用户的时区,然后将其与日期\默认\时区\设置一起使用(“用户时区”)@gert,是的,我的数据库中已经有了用户时区,每次用户登录时,让我们举一个例子,如果用户时区是(GMT+5),我们需要做什么才能得到这样的结果$日期=日期('Y-m-d',time());例如,我的时区是(美国/芝加哥GMT-5),我想将其声明为变量$date,但我如何才能这样做$日期=日期('Y-m-d',time());
<?php
date_default_timezone_set("new/timezone");//set the name of timezone here example Asia/Kokata
echo $date= date("Y-m-d H:i:s");
<?php
// here $usertimezone should be set = to what you have in your database
$usertimezone="Asia/Shanghai"; 

date_default_timezone_set('"'.$usertimezone.'"'); 

//new date and time
$ndate= new datetime();
//split into date and time seperate
$nndate =$ndate->format("Y-m-d");
$nntime= $ndate->format("H:i:S");
//here you can test it
echo $nndate;
echo $nntime;
?>