# 获取今日凌晨时间
-
UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE))
-
# 获取昨日凌晨时间
-
UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE) - INTERVAL 1 DAY)
-
# 获取明日凌晨时间
-
UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE) + INTERVAL 1 DAY)
-
# 获取的是时间戳
-
-
# 时间戳转换成datetime, datetime也就是我们说的日期格式 年-月-日 时-分-秒
-
FROM_UNIXTIME();
-
# datetime转时间戳
-
UNIX_TIMESTAMP();
-
-
# 测试
-
SELECT FROM_UNIXTIME( UNIX_TIMESTAMP( CAST( SYSDATE() AS DATE))) 今日;
-
SELECT FROM_UNIXTIME( UNIX_TIMESTAMP( CAST( SYSDATE() AS DATE) - INTERVAL 1 DAY)) 昨日;
-
SELECT FROM_UNIXTIME( UNIX_TIMESTAMP( CAST( SYSDATE() AS DATE) + INTERVAL 1 DAY)) 明日;
-
-
# 结果:
-
2019-10-06 00:00:00 // 今日
-
2019-10-05 00:00:00 // 昨日
-
2019-10-07 00:00:00 // 明日
-
-
# 可看出 + INTERVAL 1 DAY 可自己随意修改
-
-
-
# DATE_FORMAT(datetime ,format)用法,转换日期格式
-
DATE_FORMAT('2019-10-07 00:00:00', '%Y-%c-%d');
-
# 结果:
-
2019-10-07 // DATE_FORMAT之后的结果
-
-
# 常用的:
-
# '%Y-%c-%d %H:%i:%S'
-
# 年-月-日 时:分:秒
-
# '%Y-%c-%d'
-
# 年-月-日
-
# '%H:%i:%S'
-
# 时:分:秒
-
# 自己随意取舍
-
-
# 下面7点来自 : https://www.jb51.net/article/132425.htm
-
-
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)
-
-
-
- 时间格式表,时间格式表参照的 https://www.jianshu.com/p/593ace0424ff
格式 描述 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k 小时 (0-23) %l 小时 (1-12) %M 月名 %m 月,数值(00-12) %p AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2 位