我在数据库中有一些数据需要按上午/下午排序时间。
我的代码
$current_dat=date("m/d/Y");
$ current_dat_short = substr($ current_dat,0,2);
$ rest = substr($ current_dat,-7,2);
$sql_timesheet=mysql_query('SELECT * FROM timesheet WHERE reg_id='.$regiD.' AND MONTH(date)='.$current_month.' AND YEAR(date)='.$current_year.' ORDER BY date DESC');
while($res_timesheet=mysql_fetch_array($sql_timesheet)){
$projID=$res_timesheet['project'];
$taskID=$res_timesheet['task'];
$editableid=$res_timesheet['id'];
以上查询按时间排序时间
01:20 AM
01:25 PM
03:25 AM
03:40 AM
04:20 PM
但我需要像
这样的输出01:20 AM
03:25 AM
03:40 AM
01:25 PM
04:20 PM.
请帮我解决这个问题
答案 0 :(得分:2)
您可以使用 MySQL 中的STR_TO_DATE功能执行此操作:
SELECT STR_TO_DATE('10.00pm','%h.%i%p');
尝试更改您的查询语句:
<强>更新:强> 声明:
$sql_timesheet = mysql_query("SELECT * FROM timesheet WHERE reg_id=".$regiD." AND MONTH(date)=".$current_month." AND YEAR(date)=".$current_year." order by STR_TO_DATE(date,'%h.%i%p') desc,start_time asc");