1

我有这个查询

$result = select_query("tblemails", "", array("userid" => $userid), "id", "DESC", "0,5");
$lastfivemail = array();
while ($data = mysql_fetch_array($result))
{
$lastfivemail[] = array("id" => $data["id"], "processtime" => $data["processtime"], "date" => frommysqldate($data["date"], "time"), "subject" => $data["subject"] ? $data["subject"] : "No Subject");
continue;
}
$templatevars["lastfivemail"] = $lastfivemail;

和这个

"processtime" => $data["processtime"]

以秒为单位带来发送电子邮件所需的时间。

我需要以分钟:秒的格式显示它。

这是聪明的一面

<div class="clientssummarybox">
<div class="title">{$_ADMINLANG.clientsummary.emailsheading}</div>
<table class="clientssummarystats" cellspacing="0" cellpadding="2">
{foreach key=num from=$lastfivemail item=email}
<tr class="{cycle values=",altrow"}"><td align="center">{$email.date} - <a href="#" onClick="window.open('clientsemails.php?&displaymessage=true&id={$email.id}','','width=650,height=400,scrollbars=yes');return false">{$email.subject}</a></td><td>{$email.processtime}</td></tr>
{foreachelse}
<tr><td align="center">{$_ADMINLANG.clientsummary.noemails}</td></tr>
{/foreach}
</table>
</div>

</td><td width="25%" valign="top">

谢谢

4

3 回答 3

0

使用 Smarty 2 及更高版本,您可以使用

{$email.processtime|date_format:'%H:%M:%S'}

请参阅此处的参考

于 2013-10-02T11:25:34.447 回答
0

不是最优雅的,但是:

$t = $data["processtime"];

$mins = floor($t/60); 
$secs = $t%60; 
$data["processtime"] = sprintf("%02d:%02d",$mins,$secs);
于 2013-10-02T11:23:08.860 回答
0

我最近使用了一个“仅限智能”的解决方案来解决将秒转换为更具可读性的 H:M:S 格式的问题。假设你有一个变量$seconds

{assign var='duration' value='%02d:%02d:%02d'}
Duration: {$seconds|sprintf:floor($seconds/3600):(($seconds/60)%60):$seconds}
于 2018-06-19T09:57:37.407 回答