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()函数计算两个日期之间的差异

PHP和MySQL之间的时间差异[重复]

如何将日期字符串转换为 mysql 日期格式以使用 mysql 查询计算日期差异

PHP 计算日期,月份和日期之间的差异

日期与php的差异

php中的日期差异? [复制]