0

如何将字符串(“RD/OT 07:30”)转换为时间。我只知道如何将(“07:30 AM”)转换为时间。下面的代码给了我一个空白数据。

 $id = strtoupper($_POST['id']);
    $query = mysql_query("SELECT STR_TO_DATE('RD/OT 07:30','%x %h:%i')  as ScheduleIn  FROM tbl_uploadedschedule") or die(mysql_error());
    $res =   mysql_fetch_assoc($query);
    $r = $res['ScheduleIn'];
    return($r);
4

2 回答 2

1

您可以使用STR_TO_DATE(str,format)函数来转换时间格式:

SELECT STR_TO_DATE(`field_name`, '%h:%i %p')
FROM `table_name`
# this will convert '7:30 AM' to '07:30:00'

如果输出整个 DATETIME 格式,您可以使用TIME(expr)函数仅获取 TIME 部分。

演示不知道为什么 sqlfiddle 忽略 TIME() 函数;它适用于 localhost)。

于 2013-11-12T12:39:43.940 回答
0

感谢您的回答,现在我得到了 STR_TO_DATE(),代码:

STR_TO_DATE('loginTime', '%h:%i %p')  as Cast 

是错误的,因为它将“loginTime”读取为字符串,这是一种非法的时间格式。正确的语法是:

 STR_TO_DATE(loginTime, '%h:%i %p')  as Cast 

列名中没有单引号。万岁!

于 2013-11-13T02:27:21.293 回答