【发布时间】:2019-02-04 05:57:44
【问题描述】:
我将日期作为 varchar 存储在 MySQL 数据库中。我知道这并不理想.. 但这是我目前所拥有的。
示例日期:
$start_date = "11/22/2019";
$start_date = strtotime($start_date);
$end_date = "11/29/2020";
$end_date = strtotime($end_date);
我正在尝试编写一个查询来检查这种格式的日期是否在一个范围内
当开始日期与结束日期的月份相同但年份不同时,我遇到了问题。
if (!empty($start_date)) {
$where_clause[] = "UNIX_TIMESTAMP(start_date) >= '" . $start_date . "'";
}
if (!empty($end_date)) {
$where_clause[] = "UNIX_TIMESTAMP(end_date) <= '" . $end_date . "'";
}
我读到 UNIX_TIMESTAMP 允许我这样做,但它似乎不起作用。
我怎样才能使这个查询工作?
【问题讨论】:
-
我认为日期应该格式化为
2019-11-22(yyyy-mm-dd) 然后将其作为UNIX_TIMESTAMP的参数传递。除非您转换它,否则它不接受任何日期格式。 w3resource.com/mysql/date-and-time-functions/… -
您的数据库中的日期到底是什么样的?
标签: php mysql unix-timestamp