2

我需要从给定日期算出 6 个月(向后)的时间。

示例日期:

2010 年 7 月 6 日 00:00:00

需要倒数6个月并显示:

2009 年 7 月 12 日 00:00:00

我一直在浏览:http ://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html这些功能对我来说都没有意义:(

希望这是有道理的,任何帮助都会得到帮助。

凯尔

4

3 回答 3

2

它就在手册的顶部,很惊讶你找不到它(adddate / date_add);

mysql> SELECT DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH);
+----------------------------------------------------+
| DATE_ADD('2010-04-02 23:23:23', INTERVAL -6 MONTH) |
+----------------------------------------------------+
| 2009-10-02 23:23:23                                |
+----------------------------------------------------+
1 row in set (0.00 sec)

如果需要,可以添加 DATE_FORMAT()

于 2010-06-07T10:32:59.190 回答
1
DATE_SUB(mydate, INTERVAL 6 MONTH)
于 2010-06-07T10:32:12.983 回答
0

对于当前日期,您可以使用

SELECT * FROM table 
WHERE mydate BETWEEN DATE_SUB(curdate(), INTERVAL 6 MONTH) and curdate();

如果给定日期不是当前日期,则应该是2010-06-07,不是07/06/2010

于 2010-06-07T10:39:54.213 回答