获取
当前日期函数:
current_date()
mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2013-12-16
|
+----------------+
now()
mysql> select now();
+---------------------+
| now()
|
+---------------------+
| 2013-12-16 14:37:06 |
+---------------------+
日期差别函数:
datediff()
mysql> select datediff(current_date(), BorrowDate) fromborrow;
+--------------------------------------+
| datediff(current_date(), BorrowDate) |
+--------------------------------------+
|
61 |
+--------------------------------------+
这个返回的是天数。
好吧我测试了下:
mysql> select datediff(now(),(selectdate_sub(now(),interval 1 second)));
+------------------------------------------------------------+
| datediff(now(),(select date_sub(now(),interval 1 second)))|
+------------------------------------------------------------+
|
0 |
+------------------------------------------------------------+
当我把时间和前一秒对比,返回0,这个意思应该也是天数了,可能是我哪里设置的问题吧,我看别的有说返回秒数的,但是我这里返回的是天数~~
日期减函数
date_sub(now(), interval 2 month)
mysql> SELECT DATE_SUB(NOW(), INTERVAL 2 MONTH);
+-----------------------------------+
| DATE_SUB(NOW(), INTERVAL 2 MONTH) |
+-----------------------------------+
| 2013-10-16 14:38:53
|
+-----------------------------------+
这个是把当前时间减去了2两个月,后面的Month可以换成day啊,second等
还有
日期加函数:
date_add(now(), interval 2 month)效果是一样的
日期差函数:TIMESTAMPDIFF
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2),其中unit单位有如下几种,分别是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS"
HOUR_MINUTE 小时和分钟 "HOURS:MINUTES"
DAY_HOUR 天和小时 "DAYSHOURS"
YEAR_MONTH 年和月 "YEARS-MONTHS"
HOUR_SECOND 小时, 分钟, "HOURS:MINUTES:SECONDS"
DAY_MINUTE 天, 小时, 分钟 "DAYSHOURS:MINUTES"
DAY_SECOND 天, 小时, 分钟, 秒 "DAYSHOURS:MINUTES:SECONDS"
MINUTE
HOUR
DAY
MONTH
YEAR
MINUTE_SECOND
HOUR_MINUTE
DAY_HOUR
YEAR_MONTH
HOUR_SECOND
DAY_MINUTE
DAY_SECOND