MYSQL将时间戳转换为月份

时间:2013-06-11 02:56:12

标签: mysql

我有关于mysql日期函数的这个问题。

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

例如,今天的月份是6月,时间戳是 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 get month from timestamp not working

how to use curdate() in where clause against unixtimestamp (bigint) column

1 个答案:

答案 0 :(得分:4)

这对我有用:

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       |
+---------------------------+