【问题标题】:timestamp off by minutes以分钟为单位的时间戳
【发布时间】:2016-02-10 21:00:50
【问题描述】:

这个让我很困惑。我有一个保存用户上次登录的小 mysql 文件。其中一个字段是 date_time。它正确地保存了 date_time。 (例如: 2016-02-10 13:15:59 )但是,当我将 date_time 捞出时,时间已关闭,通常指向下一个小时,分钟显示 :03 或 :01

代码如下:

$sql = "SELECT date_time FROM the_file where user_fk = " . $user_id ." LIMIT 1";
$result = $db->query($sql);
$row=$db->fetch_array($result); 
if ($result){
    $date_time=$row['date_time'];
    $timestamp = strtotime($date_time);
}

稍后,在一个 js 脚本中:

<script type="text/javascript">
var year_test = '<?php echo date("Y",$timestamp); ?>';
year_test !=="1969" ? $('#login_div').html('<?php print ("Last login: " . date("l, F jS, Y g:h A",$timestamp)); ?>') : '';
</script>

时间和日期显示在 div 中,格式正确,但正如我所说,时间永远不正确。

【问题讨论】:

    标签: php mysql datetime timestamp


    【解决方案1】:

    您的date 格式通过使用g 和h 重复时间的一部分——也许您打算在那里使用i?试试

    date("l, F jS, Y g:i A",$timestamp)
    

    来自manual

    • g 小时的 12 小时格式,不带前导零
    • h 12 小时制的小时格式,带前导零
    • i 带前导零的分钟

    【讨论】:

    • 是的!当然!!我花了很多时间来研究 php,以至于我忘记了查看格式。没有什么比用一双新鲜的眼睛来看待问题的了。谢谢。
    猜你喜欢
    • 2011-07-18
    • 1970-01-01
    • 2021-07-25
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2020-06-08
    • 2021-01-04
    相关资源
    最近更新 更多