2

我对mysql日期函数有这个特定的问题。

我正在尝试将 THIS MONTH 的值与数据库中给定的时间戳进行比较。

比如今天是六月,时间戳是1369967316

我正在尝试确定该时间戳是否在 6 月份。

$query = db_query("SELECT * FROM users WHERE MONTH(FROM_UNIXTIME(CURDATE())) = MONTH(1369967316)");

//count total members this mont
$members_month = $query->rowCount();

所以如果我使用 rowCount,$members_month 的值应该是 1。

不幸的是,它不起作用。任何帮助,将不胜感激。

好吧,我看到了一些与我的相关的答案,但它没有达到目的,或者我没有很好地应用它。

mysql从时间戳获取月份不起作用

如何在针对 unixtimestamp (bigint) 列的 where 子句中使用 curdate()

4

1 回答 1

6

这对我有用:

mysql> SELECT MONTH(FROM_UNIXTIME(1369967316));
+----------------------------------+
| MONTH(FROM_UNIXTIME(1369967316)) |
+----------------------------------+
|                                5 |
+----------------------------------+

您的问题可能是因为 1369967316 是 5 月 30 日,而不是 6 月(如您所料),因此导致与MONTH(CURDATE()).

mysql> SELECT FROM_UNIXTIME(1369967316);
+---------------------------+
| FROM_UNIXTIME(1369967316) |
+---------------------------+
| 2013-05-30 22:28:36       |
+---------------------------+
于 2013-06-11T03:01:57.760 回答