我有一个 while
语句来向用户回显特定日期的一些数据。
我已经以这种格式将日期存储在数据库中: time()
我想以这种格式编写 sql 语句以仅检查日期 date("m/d/y",某个时间)
。像这样:
$page_visits_count = $mysqli->query("SELECT COUNT(`id`) FROM `visits` WHERE date('m/d/y', `time`) = '$date' ");
这部分 date('m/d/y', ``time``)
显然是错误的,但是我该如何解决这个问题?
注意:我尝试在我的时间中添加一天 (3600 * 24)。但这有时会让我在第二天中午。
最佳答案
如果我理解正确的话,您想要将 UNIX 时间戳(存储在数据库列 time
中)转换为日期格式,然后将该日期与 $date
进行比较变量。
如果这是真的,FROM_UNIXTIME这就是你可能想要的:
"SELECT COUNT(`id`) FROM `visits` WHERE FROM_UNIXTIME(`time`, '%m/%d/%Y') = '$date'");
您可能需要调整 %m/%d/%Y
部分以匹配 $date
变量的格式,请参阅 FROM_UNIXTIME
我链接到的文档以获取可用格式的列表。
关于php 将 time() 即时转换为 sql 的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125584/