【问题标题】:Convert to 12 format time转换为 12 格式时间
【发布时间】:2017-03-10 19:45:31
【问题描述】:

我有一个时间查询并以 pdf 格式显示,但它是字符串格式的表单,我希望它将其转换为 12 格式时间。

这是我的代码{nl2br($schedule->cattime)}

【问题讨论】:

  • 你能显示dd($schedule->cattime)的输出吗?
  • 10.00 8.30 7.30 8.00 8.30 12.00 13.00 14.00 15.00 16.00 17.00

标签: php laravel-5.2


【解决方案1】:

laravel 使用 Carbon 作为日期/时间层。

要更改碳中的时间/日期格式,您需要使用createFromFormat 方法。

Carbon::createFromFormat($format, $time, $tz);

例如,获取 12h 时间格式:

$date = Carbon::createFromFormat('m/d/Y g:ia', '03/10/2017 20:10');

要直接使用刀片模板中的碳,您需要使用完整的命名空间:

\Carbon\Carbon::createFromFormat('m/d/Y g:ia', '03/10/2017 20:10');

更新

根据您的评论,您正在从数据库中获取值。

获取格式化时间比使用TIME_FORMAT 函数重新格式化更容易

selectRaw('GROUP_CONCAT(concat(TIME_FORMAT(schedule.start_time, "%r")) separat‌​or "\r\n") as cattime')

【讨论】:

  • 我在我的代码和它的功能中有这个 {{ date("g:i a", strtotime($schedule->start_time))}} 但我有一个时间组 concat 查询,当我及时转换它只显示一个。我该怎么办?
  • 我没听懂 but i have a group concat query of time, when i converting in time it display only one. 吗?请向我澄清这一点;
  • 这是我的查询 ->selectRaw('GROUP_CONCAT(concat(schedule.start_time)separator "\r\n") as cattime') {!! date("g:i a", strtotime(nl2br($schedule->cattime)))!!} 这在我的刀片上。当我一直在尝试转换时,它只给了我上午 12 点 10.00 8.30 7.30 8.00 8.30 12.00 13.00 14.00 15.00 16.00 17.00
  • SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 'separat‌​或 "\r\n") 附近用作 cattime 的正确语法
  • 在组函数和分隔符之间留一个空格‌​或者,检查更新的查询
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多