问题白色日期和两个变量

时间:2016-11-01 03:59:02

标签: php mysql date timestamp

我有下一个代码:

SELECT * FROM lc_t_ordenes
WHERE fecha_registro between date(%s) and date(%s)+.9
ORDER BY fecha_registro ASC

当日期介于2016-10-012016-10-30之间时,它可以正常工作,但当我尝试仅查找日期为2016-10-31时无效的记录时。

表格日期为timestamp。如何查找date1 (2016-10-01 00:00:00)date2 (2016-10-01 23:59:59)之间的记录?

用户只需2016-10-01

2 个答案:

答案 0 :(得分:1)

这段代码怎么样:

SELECT *
FROM your_table
WHERE DATE(timestamp_column) = '2016-10-01';

编辑代码:

SELECT * FROM lc_t_ordenes
WHERE DATE(fecha_registro) BETWEEN '2016-10-01' AND '2016-10-30'
ORDER BY fecha_registro ASC;

参考:MySQL Date and Time Functions

答案 1 :(得分:0)

您应该以时间格式插入日期 添加00:00:00和' 59:59'在您的变量中,并在strtodate函数的帮助下将该变量转换为日期格式 对不起任何错误,我不是一个PHP人:)

$date1 = new DateTime('2012-05-29');
$date2 = new DateTime('2012-05-29');
$date1= $date1->format("Y-m-d H:i:s");
$date2->modify("+23 hours");
$date2->modify("+59 minutes");  
$date2->modify("+59 seconds");
$date2= $date2->format("Y-m-d H:i:s");