mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间,mysql昨天
1、当前日期
select DATE_SUB(curdate(),INTERVAL 0 DAY) ;
2、明天日期
select DATE_SUB(curdate(),INTERVAL -1 DAY) ;
3、昨天日期
select DATE_SUB(curdate(),INTERVAL 1 DAY) ;
4、前一个小时时间
select date_sub(now(), interval 1 hour);
5、后一个小时时间
select date_sub(now(), interval -1 hour);
6、前30分钟时间
select date_add(now(),interval -30 minute)
7、后30分钟时间
select date_add(now(),interval 30 minute)
取得当天:
SELECT curdate();
mysql> SELECT curdate();
+------------+
| curdate() |
+------------+
| -07-29 |
+------------+
取得当前日期:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| -07-29 22:10:40 |
+---------------------+
取得前一天:
mysql> select date_sub(curdate(),interval 1 day);
+------------------------------------+
| date_sub(curdate(),interval 1 day) |
+------------------------------------+
| -07-28 |
+------------------------------------+
括号中为当天时间的前一天,如果统计前几天就将括号中的1改成相应的天数。如果要算月或年,直接将day改为month或year即可
取得前一天的年份:
mysql> SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY));
+------------------------------------------+
| YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |
+------------------------------------------+
| |
+------------------------------------------+
date_sub()函数的例子:
今天是5月20日。
date_sub(-05-25,interval 1 day) 表示 -05-24
date_sub(-05-25,interval 0 day) 表示 -05-25
date_sub(-05-25,interval -1 day) 表示 -05-26
date_sub(-05-31,interval -1 day) 表示 -06-01
date_sub(curdate(),interval 1 day) 表示 -05-19
date_sub(curdate(),interval -1 day) 表示 -05-21
date_sub(curdate(),interval 1 month) 表示 -04-20
date_sub(curdate(),interval -1 month) 表示 -06-20
date_sub(curdate(),interval 1 year) 表示 -05-20
date_sub(curdate(),interval -1 year) 表示 -05-20
MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数。
select datediff(-08-08, -08-01); -- 7
select datediff(-08-01, -08-08); -- -7
一、MySQL 获得当前日期时间 函数
1.1 获得当前日期+时间(date + time)函数:now()
mysql> select now();
+---------------------+
| now() |
+---------------------+
| -08-08 22:20:46 |
+---------------------+
除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:
current_timestamp()
,current_timestamp
,localtime()
,localtime
,localtimestamp -- (v4.0.6)
,localtimestamp() -- (v4.0.6)
这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。
1.2 获得当前日期+时间(date + time)函数:sysdate()
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。看下面的例子就明白了:
mysql> select now(), sleep(3), now();
+---------------------+----------+---------------------+
| now() | sleep(3) | now() |
+---------------------+----------+---------------------+
| -08-08 22:28:21 | 0 | -08-08 22:28:21 |
+---------------------+----------+---------------------+
mysql> select sysdate(), sleep(3), sysdate();
+---------------------+----------+---------------------+
| sysdate() | sleep(3) | sysdate() |
+---------------------+----------+---------------------+
| -08-08 22:28:41 | 0 | -08-08 22:28:44 |
+---------------------+----------+---------------------+
可以看到,虽然中途 sleep 3 秒,但 now
mysql获取明天时间_mysql 获取昨天日期 今天日期 明天日期以及前一个小时和后一个小时的时间...