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');