代码之家  ›  专栏  ›  技术社区  ›  shin

如何在php/mysql中将08:00:00改为08:00

  •  0
  • shin  · 技术社区  · 15 年前

    我在mysql中有时间类型,输入的时间格式是hh:mm。它以hh:mm:00的形式存储在数据库中。

    现在,当我显示时,它也显示秒。

    我只想显示时间和分钟。

    代替13:20:00,显示13:20等。

    最好的方法是什么?

    我可以使用SUBSTR($time,0,5),但我想知道是否有更好的方法可以做到这一点。

    事先谢谢。

    4 回复  |  直到 15 年前
        1
  •  1
  •   Emil Vikström    15 年前

    我假定它保存在time类型的db列中。在这种情况下,请在查询中修复它:

    SELECT TIME_FORMAT(yourfield, '%H:%i') FROM table;
    
        2
  •  1
  •   Wrikken    15 年前
    SELECT DATE_FORMAT(timefield,'%H:%i');
    
        3
  •  1
  •   Slavic    15 年前

    小腿,

    考虑到在数据库中有固定长度的字符串,您已经在使用最佳方法来格式化时间(SUBSTR)。这为您提供了对计算能力的最低要求。

    但是,如果您担心代码的优雅,并且,如果字符串不是固定长度(如9:31:02而不是09:31:02),则可以使用此代码:

    $hours   = strtok( $dbTime, ':');
    $minutes = strtok( ':');
    $formattedTime = $hours . ':' . $minutes
    

    我希望这有帮助 斯拉夫语

        4
  •  0
  •   RandyMorris    15 年前

    如果你想走那条路,这里是php部分。

    回音日期(“h:i”);

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