【问题标题】:How to convert mysql time如何转换mysql时间
【发布时间】:2013-06-24 00:45:04
【问题描述】:

我在 mysql 中的时间是 hh:mm:ss 如何将其转换为 12 小时时间并删除秒数,因为它们都是 00。

例如:

14:30:00

mysql

$finalresult = mysql_query("SELECT * FROM events WHERE clubID IN (" . implode(',', $clubIDs) . ") ORDER BY date ASC, TIME(startTime) ASC");

while($finalrow = mysql_fetch_assoc($finalresult)) {

$originaltime = $finalrow['startTime'];
$newtime = TIME_FORMAT($originaltime, '%h:%i %p');

}

【问题讨论】:

标签: php mysql timestamp converter


【解决方案1】:

使用TIME_FORMAT:

SELECT TIME_FORMAT('14:30:00', '%h:%i %p'); /* 02:30 PM */

把你的 PHP 改成这样:

$finalresult = mysql_query("SELECT Field1, Field2, TIME_FORMAT(DateField, '%h:%i %p') AS TheTime FROM events WHERE clubID IN (" . implode(',', $clubIDs) . ") ORDER BY date ASC, TIME(startTime) ASC");

这涉及删除* 并指定您想要的每个字段。

【讨论】:

  • 我收到 time_format() 函数未定义的错误
  • $newtime = TIME_FORMAT($originaltime, '%h:%i %p');
  • TIME_FORMAT 是 MySQL 函数,而不是 PHP 函数。我不知道您使用的是 PHP。
  • 如果我有一行,我会怎么做,我得到它就像 row['time'];
  • 我实际上是从 mysql 获取的
【解决方案2】:

如果是TIME类型,可以使用TIME_FORMAT函数。

要获得 12 小时制的时间,不带秒:

TIME_FORMAT(myTime, '%h:%i')

14:24:38 的时间将显示为2:24

如果您在转换为 12 小时制后需要 AM/PM 名称,只需添加 %p 格式代码:

TIME_FORMAT(myTime, '%h:%i %p')

为此,14:24:38 的时间将显示为2:24 PM

【讨论】:

  • 我收到 time_format() 函数未定义的错误
  • $newtime = TIME_FORMAT($originaltime, '%h:%i %p');
  • 啊,我明白了——我给出的答案是针对 MySQL,而不是针对 PHP。如果您在 MySQL 查询中包含 TIME_FORMAT 函数调用,则无需在 PHP 中进行转换/格式化。
  • 如果我有一行,我会怎么做,我得到它就像 row['time'];
  • 查询不是以SELECT * FROM events WHERE ... 开头,而是以SELECT *, TIME_FORMAT(startTime, '%h:%i') AS formattedStartTime FROM events WHERE ... 开头。然后,在您的 PHP 中,像这样分配$originalTime$originaltime = $finalrow['formattedStartTime'];。另请注意,您应该使用 mysqli 或 PDO 进行数据检索; “mysql” PHP 驱动程序将会消失,因为它不安全。
猜你喜欢
  • 2011-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-15
  • 1970-01-01
  • 1970-01-01
  • 2014-06-24
  • 2022-01-18
相关资源
最近更新 更多