Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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日期时间不需要';我似乎没有注意到时区_Php_Date_Datetime - Fatal编程技术网

设置PHP日期时间不需要';我似乎没有注意到时区

设置PHP日期时间不需要';我似乎没有注意到时区,php,date,datetime,Php,Date,Datetime,我对PHP相当陌生,所以如果这是一个我没有发现的愚蠢错误,请原谅我 我遇到了一个问题,在我们当前的系统中,我们当前使用的是strotime,它比实际设置的日期提前一小时返回日期。当我将时区设置为欧洲时区而不是GMT时,下午1:15变成了下午2:15 我读到strotime有这个问题,但如果我尝试设置它,我无法让它观察不同的时区 因此,我尝试使用PHPsDateTime 用户输入时间,他们将其选择为下午1:15,但我们希望将其存储为13:15。所以我这样做了: $t = DateTime::cre

我对PHP相当陌生,所以如果这是一个我没有发现的愚蠢错误,请原谅我

我遇到了一个问题,在我们当前的系统中,我们当前使用的是
strotime
,它比实际设置的日期提前一小时返回日期。当我将时区设置为欧洲时区而不是GMT时,下午1:15变成了下午2:15

我读到strotime有这个问题,但如果我尝试设置它,我无法让它观察不同的时区

因此,我尝试使用PHPs
DateTime

用户输入时间,他们将其选择为下午1:15,但我们希望将其存储为13:15。所以我这样做了:

$t = DateTime::createFromFormat('h:i A', $venue['startTime']);
$t_24 = $t->format('H:i:s');
然后我尝试创建我的日期对象

$d = DateTime::createFromFormat('d-m-Y H:i:s', $venue['startDay'] . ' ' . $t_24);
$d->setTimezone(new DateTimeZone('America/New_York'));
echo ' ' . $d->getTimestamp();
试图在设置对象后设置时区,因为如果在
createFromFormat


我的计算机时间目前为欧洲时间,目前为GMT+1,因为我们在英国观测夏令时,我通过我们的系统选择在上设置的时间为下午1:15,因为我已经设置了时区,我希望输出的时间戳相当于上午7:15,因为它比欧洲时间晚6小时,但是,当我转换时间戳时,它仍然等于下午2:15。可能做了些傻事,但不知道是什么?任何帮助都将不胜感激:)

时间戳没有时区-它们总是在UTC时间。如果要保存时区相关数据,请使用其他格式!例如,根据需要保存在H:i:s中。

时间戳没有时区-它们始终使用UTC时间。如果要保存时区相关数据,请使用其他格式!例如,根据需要保存在H:i:s中。

您可以使用gmdate()函数进行此操作

<?php $current_time = gmdate('Y-m-d H:i:s'); ?>

您可以使用gmdate()函数进行此操作

<?php $current_time = gmdate('Y-m-d H:i:s'); ?>