在mysql数据库中,我有一个数据类型为timestamp
的日期值。它显示的值如下:1415607900, 1394439900, 1412929500
等。
现在以Html格式我可以提取日期。日期值为m/d/y
格式,此日期用于将数据搜索到DB。我可以从此html表单字段中提取 Date From或Date To或Both 。
Date from
正在从取件日期到当前日期搜索数据。
Date To
正在搜索所有数据,直到选择日期
如果both date
值存在,那么它会在这两个日期之间搜索数据。
那么如何针对此timestamp
搜索数据?
请检查我正在运行的以下mysql查询,但无法获得正确的结果。我非常感谢您的建议/解决方案。谢谢。
if(!empty($ad_datefrom) && empty($ad_dateto)){
$getSearch .= "AND cd.created_date2 BETWEEN '$ad_datefrom' AND '$date' ";
}
if(!empty($ad_dateto) && empty($ad_datefrom)){
$getSearch .= "AND cd.created_date2 BETWEEN '0000-00-00' AND '$ad_dateto'";
}
if(!empty($ad_datefrom) && !empty($ad_dateto)){
$getSearch .= "AND cd.created_date2 BETWEEN '$ad_datefrom' AND '$ad_dateto' ";
}
----------------------------------------------------------------------------------
cd = contact_details Table,
created_date2 = date column (data type : timestamp)
$date = current date which format is m/d/y
更新:
/* this is for Date from*/
if(!empty($ad_datefrom) && empty($ad_dateto)){
$getSearch .= "AND cd.created_date BETWEEN UNIX_TIMESTAMP('$ad_datefrom') AND UNIX_TIMESTAMP('$date') ";
}
/* this is for Date To*/
if(!empty($ad_dateto) && empty($ad_datefrom)){
$getSearch .= "AND cd.created_date BETWEEN UNIX_TIMESTAMP('0000-00-00') AND UNIX_TIMESTAMP('$ad_dateto') ";
}
/* this is for Date from and Date To*/
if(!empty($ad_datefrom) && !empty($ad_dateto)){
$getSearch .= "AND cd.created_date BETWEEN UNIX_TIMESTAMP('$ad_datefrom') AND UNIX_TIMESTAMP('$ad_dateto')";
}
答案 0 :(得分:1)
您可以使用FROM_UNIXTIME()将Unix时间转换为日期时间。
这是一个例子
SELECT * FROM tbl where FROM_UNIXTIME(dt) between '2014-10-01 00:00:00' and "2014-11-01 00:00:00'