【问题标题】:How can I format a variable containing time from a database using PHP?如何使用 PHP 格式化包含数据库中时间的变量?
【发布时间】:2019-01-30 08:29:20
【问题描述】:

我有一个显示时间的变量。这从数据库中检索。问题是,它显示如下:22:30:00。有没有办法在显示此变量之前对其进行格式化?我的变量名是 $time。应该是这样的:22:30

$query = "SELECT time FROM tasks";
$stm = $con->prepare($query);
$stm->execute();
$result = $stm->fetchAll(PDO::FETCH_OBJ);
echo "<table>";
foreach ($result as $pers) {
    $time = $pers->time;
    echo "<tr>";
    echo "<td>".$time."</td>";
    echo "</tr>";


}
echo "</table>";

【问题讨论】:

  • 如果你要投反对票,至少说明原因
  • substr 函数。
  • 请提供您从数据库中获取时间的代码。

标签: php sql variables time format


【解决方案1】:

试试这个:

$time = date('H:i', strtotime( $time ) );

@Marce 也提供了这段代码,但 date() 函数需要时间戳作为第二个参数,可以通过 strtotime 完成。

  1. 日期:http://php.net/manual/en/function.date.php
  2. strtotime:http://php.net/manual/en/function.strtotime.php

请参阅文档以获得更多帮助。

【讨论】:

  • 这就是我一直在寻找的答案!谢谢
【解决方案2】:

你可以试试这个

date("H:i", strtotime($time));

【讨论】:

  • 我收到此错误:遇到格式不正确的数值
  • @MAN8zzzzzzzzzDWOMAN 如果 $time 是时间戳而不是您在问题中提供的时间,它可能会起作用。 php.net/manual/en/function.date.php
  • @MAN8zzzzzzzzzDWOMAN 顺便问一下,您是如何从数据库中获取时间的?
  • @MAN8zzzzzzzzzDWOMAN 请检查​​我上面提供的答案。
  • @Marce 您的解决方案几乎正确,只是缺少时间戳作为第二个参数。请参阅date() 文档以获得更多说明:php.net/manual/en/function.date.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-11
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 2011-07-25
  • 2011-12-03
相关资源
最近更新 更多