Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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 设置用户时区,同时使用Laravel Carbon显示日期和时间_Php_Date_Datetime_Laravel 5.5_Php Carbon - Fatal编程技术网

Php 设置用户时区,同时使用Laravel Carbon显示日期和时间

Php 设置用户时区,同时使用Laravel Carbon显示日期和时间,php,date,datetime,laravel-5.5,php-carbon,Php,Date,Datetime,Laravel 5.5,Php Carbon,我想根据用户的时区显示日期和时间。每次登录时,我都会得到用户的时区。下面是我在视图中的代码,我需要向用户显示注释日期和时间 {{ Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $memoriesRow->createdAt, 'UTC')->setTimezone($timezone)->format('l, F dS Y h:i A') }} 但是它显示的日期和时间不正确,它显示在未来。以下是我传递给它的日期和时区: Asia

我想根据用户的时区显示日期和时间。每次登录时,我都会得到用户的时区。下面是我在视图中的代码,我需要向用户显示注释日期和时间

{{ Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $memoriesRow->createdAt, 'UTC')->setTimezone($timezone)->format('l, F dS Y h:i A') }}
但是它显示的日期和时间不正确,它显示在未来。以下是我传递给它的日期和时区:

Asia/Karachi - 2017-12-13 16:55:07
但它告诉我(09:55是未来的时间):

尝试以下方法:

$timestamp = $memoriesRow->createdAt;
$date = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Asia/Karachi');

添加$date->setTimezone('Asia/Karachi');$date=“Carbon\Carbon----”@AmitGupta ok checking..@AmitGupta得到异常:调用stringCheck上的成员函数setTimezone(),检查我的答案。试一试。$memoriesRow->createdAt中会出现什么?它仍然有区别,我如何使用您提到的方法进行格式化:原始日期:2017-12-13 16:55:07-转换日期:2017-12-13 21:55:07添加亚洲/卡拉奇来代替UTC一次,告诉我什么问题?让我们来看看。它与亚洲/卡拉奇合作得很好,但我试着用“美国/底特律”时区来测试它,但我仍然保持原样,这个时区的日期时间没有改变
$timestamp = $memoriesRow->createdAt;
$date = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Asia/Karachi');