PHP time()到Date/time,返回奇怪的结果


PHP time() to Date/Time returning strange results

我有一个名为last_hit的数据库字段,您可以猜测它存储用户上次点击/操作的时间。现在一切都很好,除非我以特定的格式输出时间。第一段代码向您展示了我如何格式化结果并显示它们。下一段代码将向您显示最后一个命中字段的更新。

//此处显示代码

            <tr>
                <td>
                    <strong>Last Action</strong>: <?=date("d/m/Y h:m:s A", $userResults->last_hit)?>
                </td>
            </tr>

//此处更新代码

        $updateDate = array($time, $userID);
        $updateLastHitSQL = "UPDATE `users` SET last_hit = ? WHERE user_id = ?";
        $db->prepare($updateLastHitSQL)->bind(2, $updateDate, true)->execute();

我遇到的问题是输出循环时间(分钟)。例如,以下面显示的时间为例:

上次操作:09/11/2014 11:11:19 PM

结束时的秒数正确更新,也就是说,直到它达到59,分钟字段没有变为12,而是保持11,秒数刚好变为0。因此,除了秒之外,实际上没有任何时间被更新。然而,当我在数据库中查看时,last_hit字段会按预期添加到每个页面更新中。

问题在于日期格式字符串。"d/m/Y H:m:s"应为"d/m/Y H:i:s"m'表示月份,i'表示分钟。

http://php.net/manual/en/function.date.php