Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.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_Php Carbon - Fatal编程技术网

Php 碳时区和格式不一起工作

Php 碳时区和格式不一起工作,php,php-carbon,Php,Php Carbon,这是我的密码 $time = '2019-12-16T10:14:35.000000Z'; $var = new Carbon($time); $var = $var->setTimezone('Asia/Dhaka')->format('Y-m-d H:i:s'); 我期待的回报是“2019-12-16 4:14:35” 我得到的回报是“2019-12-16 10:14:35” 如果我删除格式函数,我将获得正确的时区“2019-12-16T4:14:35.000000Z” 显

这是我的密码

$time = '2019-12-16T10:14:35.000000Z';

$var = new Carbon($time);

$var = $var->setTimezone('Asia/Dhaka')->format('Y-m-d H:i:s');
我期待的回报是“2019-12-16 4:14:35”

我得到的回报是“2019-12-16 10:14:35”

如果我删除格式函数,我将获得正确的时区“2019-12-16T4:14:35.000000Z

显然,setTimeZone无法使用格式。我错过了什么


我知道可能会有重复的问题,但似乎没有一个解决方案适合我

如果源时间戳始终位于
UTC
时区。 因此,请将代码更改为:

$var=Carbon::createFromFormat('Y-m-dh:i:s',$timestamp,'UTC');
$var=$var->setTimezone('Asia/Dhaka');

您可以这样设置时区

$time='2019-12-16T10:14:35.000000Z';
$var=Carbon::createFromFormat('Y-m-dh:i:s',$time,'Asia/Dhaka');
试试这个:

$var = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Europe/Madrid');
$var = $var->setTimezone('Asia/Dhaka');

我试过了。不工作。返回UTC时间,而不是更新的时区。@稻草人更改了答案。试试看:)太好了。现在我知道我错过了什么。