Converting Seconds to HH:MM:SS
本问题已经有最佳答案,请猛点这里访问。
我找到了一个函数将秒转换为HH:MM:SS在线,功能如下:
1 2 3 4 5 6 7 8 9 10 11 12 | function sec2hms ($sec, $padHours = false) { $hms =""; $hours = intval(intval($sec) / 3600); $hms .= ($padHours) ? str_pad($hours, 2,"0", STR_PAD_LEFT). ':' : $hours. ':'; $minutes = intval(($sec / 60) % 60); $hms .= str_pad($minutes, 2,"0", STR_PAD_LEFT). ':'; $seconds = intval($sec % 60); $hms .= str_pad($seconds, 2,"0", STR_PAD_LEFT); return $hms; } |
我知道这很好,就像我做
我想要发生的是使用该函数转换列
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <tr> <th>Rank</th> <th>Username</th> <th>Time Taken (s)</th> <th>Score</th> </tr> </thead> <tbody> <?php $result = mysql_query("SELECT * FROM gamescores ORDER BY Time DESC"); if (mysql_num_rows($result)) { for($rank=1; $row = mysql_fetch_assoc($result); $rank++) { echo"<tr> <td>{$rank}</td> <td>{$row['username']}</td> <td>{$row['timetaken']}</td> <td>{$row['score']}</td> |
如果有一种更好的方法可以将秒数转换为HH:MM:SS,那么这也会很棒。
使用MySQL SEC_TO_TIME函数。
例:
1 2 | mysql> SELECT SEC_TO_TIME(2378); -> '00:39:38' |
因此,您可以将SQL查询编写为:
1 |
然后你的代码变成:
1 2 3 4 5 6 7 8 9 | <?php $result = mysql_query("SELECT username, score, SEC_TO_TIME(timeran) as timetaken FROM gamescores ORDER BY Time DESC"); if (mysql_num_rows($result)) { for($rank=1; $row = mysql_fetch_assoc($result); $rank++) { echo"<tr> <td>{$rank}</td> <td>{$row['username']}</td> <td>{$row['timetaken']}</td> <td>{$row['score']}</td> |
您需要使用该函数包装输出。 将此代码放在适当的位置。
1 | echo"<td>". sec2hms($row['timetaken']) ."</td>"; |