Mysql 获取昨日、今日、明日凌晨时间,时间点大全

1、今日凌晨(起点)
select CONCAT(DATE_SUB(curdate(), INTERVAL 0 DAY)," 00:00:00") ;
或者
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE)))

注意 以今天2022/03/31为例

  • 前一天0点 2022-03-30 00:00:00
SELECT  FROM_UNIXTIME(UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE) - INTERVAL 1 DAY)) 
  • 今天的23:59:59 2022-03-31 23:59:59
SELECT DATE_SUB( DATE_ADD(CURDATE(), INTERVAL 1 DAY),INTERVAL 1 SECOND)
  • 今天的 00:00:00 2022-03-31 00:00:00
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE)))

# 获取今日凌晨时间

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();
可看出 + INTERVAL 1 DAY 可自己随意修改

  • DATE_FORMAT(datetime ,format)用法,转换日期格式
DATE_FORMAT('2019-10-07 00:00:00', '%Y-%c-%d');

常用的:
‘%Y-%c-%d %H:%i:%S’
年-月-日 时:分:秒
‘%Y-%c-%d’
年-月-日
‘%H:%i:%S’

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)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部