PHP MySQL 日期差异
Posted
技术标签:
【中文标题】PHP MySQL 日期差异【英文标题】:PHP MySQL Date diff 【发布时间】:2011-04-21 16:00:53 【问题描述】:我在 mysql 中有字段 datetime
和 DATETIME 类型。在 php 脚本中,我像这样设置日期开始和日期结束:11/12/1999 和 11/12/2001。在我的表中,日期时间以下一个格式保存:11.11.1888 00:00:00。如何比较这些日期?
谢谢。
【问题讨论】:
您能否发布一个代码示例,显示您如何“设置日期开始和日期结束”?为什么是 1888 年? 这是一个示例数字。什么代码?我在问代码。 所以您的问题是“如何查找开始日期和结束日期之间的条目”? 【参考方案1】:这可以更轻松地完成,但这是一种方法:
$begindate = strreplace($begindate,'/','.');
$enddate = strreplace($enddate,'/','.');
mysql_query("SELECT * FROM MyTable
WHERE dateField BETWEEN '$begindate 00:00:00' AND '$enddate 23:59:59'");
【讨论】:
【参考方案2】:应该是这样的
SELECT *, STR_TO_DATE(datetime,'%d.%m.%Y') as newdatetime
FROM table
WHERE newdatetime >= STR_TO_DATE('11/12/1999','%d/%m/%Y')
AND newdatetime <= STR_TO_DATE('11/12/2001','%d/%m/%Y');
【讨论】:
以上是关于PHP MySQL 日期差异的主要内容,如果未能解决你的问题,请参考以下文章
在mysql查询中使用php time()函数计算两个日期之间的差异