Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP date()函数未给出正确的时间_Php_Date - Fatal编程技术网

PHP date()函数未给出正确的时间

PHP date()函数未给出正确的时间,php,date,Php,Date,我试图找出为什么php date()给我的时间不正确,将实际时间设置回2小时 <?php echo date("Y-m-d H:i:s"); ?> 这给出了2011-01-01 03:14:04,而不是2011-01-01 05:14:04。小时减少了2小时。 我没有更改date()的时区,当用户访问该站点时,我希望时间也与他们的时区一致。如何使用php实现这一点?尝试设置时区:或通过 更新:无法为用户设置正确的日期。Javascript可以处理它,但您必须依靠用户的系统来确定

我试图找出为什么php date()给我的时间不正确,将实际时间设置回2小时

<?php echo date("Y-m-d H:i:s"); ?>

这给出了2011-01-01 03:14:04,而不是2011-01-01 05:14:04。小时减少了2小时。
我没有更改date()的时区,当用户访问该站点时,我希望时间也与他们的时区一致。如何使用php实现这一点?

尝试设置时区:或通过


更新:无法为用户设置正确的日期。Javascript可以处理它,但您必须依靠用户的系统来确定他/她的时间。

尝试设置时区:或通过


更新:无法为用户设置正确的日期。Javascript可以处理它,但您必须依靠用户的系统来确定他/她的时间。

您必须使用或对象,并且用户必须在某个选项菜单中设置自己的时区

否则,PHP是一种服务器端语言,不知道用户端的时间


您必须使用客户端语言JavaScript。您可以让它只是静态的,并显示当前用户系统时间,或者如果出于任何原因需要将时间输入PHP,您可以使用一些类似AJAX的脚本,让JavaScript在页面加载时将时间发送到脚本中。

您必须使用或对象,用户必须在某个地方的选项菜单中设置自己的时区

否则,PHP是一种服务器端语言,不知道用户端的时间

您必须使用客户端语言JavaScript。您可以将其设置为静态并显示当前用户系统时间,或者如果出于任何原因需要将时间输入PHP,您可以使用类似AJAX的脚本,让JavaScript在页面加载时将时间发送到脚本中。

//更改日期格式

$dateInfo = date_parse_from_format('m-d-Y', $data['post_date']);
$unixTimestamp = mktime(
        $dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
        $dateInfo['month'], $dateInfo['day'], $dateInfo['year']
    );
$data['post_date']=date('Y-m-d',$unixTimestamp);
//更改日期格式

$dateInfo = date_parse_from_format('m-d-Y', $data['post_date']);
$unixTimestamp = mktime(
        $dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
        $dateInfo['month'], $dateInfo['day'], $dateInfo['year']
    );
$data['post_date']=date('Y-m-d',$unixTimestamp);

这是因为默认情况下,它显示GMT时间,您可以使用以下代码更改您所在地区的时间

   date_default_timezone_set("Asia/Bangkok");//set you countary name from below timezone list
    echo $date = date("Y-m-d H:i:s", time());//now it will show "Asia/Bangkok" or your date time
支持的时区列表
这是因为默认情况下,它显示GMT时间,您可以使用以下代码更改您所在地区的GMT时间

   date_default_timezone_set("Asia/Bangkok");//set you countary name from below timezone list
    echo $date = date("Y-m-d H:i:s", time());//now it will show "Asia/Bangkok" or your date time
支持的时区列表

您的服务器在哪里运行?
echo date\u default\u timezone\u get()是什么返回?可能与服务器运行的位置重复?
echo date\u default\u timezone\u get()是什么返回?可能重复的