繁体   English   中英

使用(HH:MM AM / PM)格式从varchar(100)类型获取时间

[英]Get time from a varchar(100) type with (HH:MM AM/PM) format

如何将字符串(“ 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);

您可以使用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上有效 )。

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

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

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

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

列名称中没有单引号。 霍雷!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM