【问题标题】:Set user timezone while display date and time using Laravel Carbon使用 Laravel Carbon 在显示日期和时间的同时设置用户时区
【发布时间】:2017-12-13 12:08:22
【问题描述】:

我想根据用户的时区显示日期和时间。我每次登录时都会获取用户的时区。以下是我需要向用户显示 cmets 日期和时间的代码。

{{ 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 PM 是未来时间):

Wednesday, December 13th 2017 09:55 PM 

【问题讨论】:

  • add like $date->setTimezone('Asia/Karachi'); $date 之后 = "碳\碳 --- "
  • @AmitGupta 好的检查..
  • @AmitGupta 出现异常:调用字符串上的成员函数 setTimezone()
  • 检查我的答案。试试这样。
  • $memoriesRow->createdAt 中会发生什么?

标签: php date datetime laravel-5.5 php-carbon


【解决方案1】:

尝试如下:

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

【讨论】:

  • 还是有区别的,怎么用你说的方法格式化:原始日期:2017-12-13 16:55:07 - 转换日期:2017-12-13 21:55:07
  • 添加一次亚洲/卡拉奇代替 UTC
  • 什么问题,告诉我?
  • 它在亚洲/卡拉奇运行良好,但我尝试使用“美国/底特律”时区对其进行测试,但我保持原样,该时区的日期时间没有改变
猜你喜欢
  • 2013-06-29
  • 2011-02-28
  • 1970-01-01
  • 2016-10-09
  • 2010-12-22
  • 1970-01-01
  • 1970-01-01
  • 2018-01-14
  • 1970-01-01
相关资源
最近更新 更多