php - 日期间隔,计数之间 - 使用自己的日期/时间格式

标签 php mysql

我正在尝试分别获取今天和昨天的访客数量。

我的问题是我使用自己的日期和时间格式,它保存在我的数据库中,如下所示:HH:MM DD.MM.YYYY,现在为了获取昨天的访问者,我尝试了以下操作:

$sql="SELECT COUNT(*) as count FROM lst_visitors WHERE country = '$country' AND DATE(visits) = DATE_SUB(CURDATE(),INTERVAL 1 DAY)";

今天:

$sql="SELECT COUNT(*) as count FROM lst_visitors WHERE country = '$country' AND DATE(visits) = DATE(NOW())";

但这只是显示所有内容都是 0。

然后我尝试了:

$today = date("H:i d.m.Y");
$sql="SELECT COUNT(*) as count FROM lst_visitors WHERE country = '$country' AND DATE(visits) = DATE($today())";

但这不会输出任何内容。

最佳答案

您应该将其存储为datetime类型,并且您应该将它们转换为这样的类型。同时,您可以使用STR_TO_DATE :

SELECT STR_TO_DATE('15:50 27.03.2013', '%H:%i %d.%m.%Y')

结果

| STR_TO_DATE('15:50 27.03.2013', '%H:%I %D.%M.%Y') |
-----------------------------------------------------
|                      March, 27 2013 15:50:00+0000 |

Applying your fields:

$sql="SELECT COUNT(*) as count FROM lst_visitors WHERE country = '$country' 
          AND DATE(STR_TO_DATE(visits, '%H:%i %d.%m.%Y')) = DATE(NOW())";

$sql="SELECT COUNT(*) as count FROM lst_visitors WHERE country = '$country' 
          AND DATE(STR_TO_DATE(visits, '%H:%i %d.%m.%Y')) = DATE_SUB(CURDATE(),INTERVAL 1 DAY)";

关于php - 日期间隔,计数之间 - 使用自己的日期/时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15661100/

相关文章:

php - MySQL从其他表中的ids中选择歌曲

java - 如何在数据库中存储Enum类名和枚举值

php - 是否可以动态地向 PHP 对象添加成员?

PHP 将变量存储在缓存中

javascript - Internet Explorer 中未设置 Cookie,出现错误

php - 如何在 PHP 中正确使用 WooCommerce 订阅 API?

MySQL日期查询语法

php - 如何使用 PHP Mysql 查询获取 mysql 表中的 json 值

php - 内部连接和同一查询中的 where 返回空白错误 mysql

php - 德鲁帕尔 6 : form_state values empty on submit