如何将字符串插入显示的时间戳?

How to insert strings into displayed timestamp?

情况

我正在构建一个支持工单系统,员工可以在其中回复工单。这显示在排序的聊天显示中,其中还包括 post 的创建时间。

日期存储在数据库中,并保存为时间戳。

我目前想知道如何在检索到的时间戳中注入字符串,因为我的目标是:

显示 23-02-2018 09:47:1323-02-2018 {atLabel} 09:47 {$hoursLabel}。换句话说,这在英文版本中看起来如下:

23-02-2018 09:47:13 作为 23-02-2018 在 09:47 小时

============================================= ==================

当前显示:

^ 这是通过以下 Smarty 代码实现的:

{foreach from=$ticketConversationList item=ticketConversation}
  <div class="holder" style="border-radius: 0;">
    <i class="pull-right">{$ticketHistoryPostedAt}{$ticketConversation.posted_at}</i>
  </div>
{/foreach}

{$ticketHistoryPostedAt} =

{$ticketConversation.posted_at} = < - 这是使用数据库上的 SQL 查询获取的,然后使用 smarty->assign()

将数组发送到 foreach

注意:这个 post 不是 DATETIME 到 DD-MM-YYYY HH:MM:SS 的副本,因为我的问题特别是关于拆分 TIMESTAMP 以便我可以输入在字符串中显示。

你可以在space的基础上进行分解,然后将它们组合在一起以你想要的格式显示

$dateTime = $ticketConversation.posted_at;
$data = explode(" ", $dateTime);
echo $data[0] ." at ".$data[1]." hours";

你不能在模板中使用类似这样的东西吗?

{$ticketConversation.posted_at|date_format:%d-%m-%Y}{atLabel}{$ticketConversation.posted_at|date_format:%H:%i }{$hoursLabel}

您可能必须将检索到的日期从 DB 转换为 DateTime 类型对象。