如何将字符串(“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);
答案 0 :(得分: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部分。
Demo (不知道为什么sqlfiddle忽略了TIME()函数;它适用于localhost )。
答案 1 :(得分:0)
感谢您的回答,现在我收到了STR_TO_DATE(),代码:
STR_TO_DATE('loginTime', '%h:%i %p') as Cast
是错误的,因为它将'loginTime'读作字符串,这是一种非法的时间格式。正确的语法是:
STR_TO_DATE(loginTime, '%h:%i %p') as Cast
列名中没有单引号。霍瑞!