php为sql动态转换time()到日期格式

时间:2013-02-28 01:00:35

标签: php mysql sql

我有一个while语句,echo从特定日期向用户提供一些数据。 我已经以这种格式在我的数据库中存储了日期:time()我想用这种格式编写我的sql语句,只检查日期date("m/d/y", some time)。像这样:

$page_visits_count = $mysqli->query("SELECT COUNT(`id`) FROM `visits` WHERE date('m/d/y', `time`) = '$date' ");

这部分date('m/d/y', ``time``)显然是错误的,但我怎么能解决这个问题呢? 注意:我尝试在我的时间添加一天(3600 * 24)。但有时候我会把我放在第二天的中间。

1 个答案:

答案 0 :(得分:1)

如果我理解正确您想要将UNIX时间戳(存储在数据库列time中)转换为日期格式,请将该日期与$date变量进行比较。

如果这是真的,那么FROM_UNIXTIME就是你之后的预言:

"SELECT COUNT(`id`) FROM `visits` WHERE FROM_UNIXTIME(`time`, '%m/%d/%Y') = '$date'");

您可能希望调整%m/%d/%Y部分以匹配$date变量的格式,请参阅我链接到的FROM_UNIXTIME文档,以获取可用格式的列表。