Mysql 获取昨日、今日、明日凌晨时间的方法

东海大仙

Mysql 获取昨日、今日、明日凌晨时间的方法:

获取今日凌晨时间

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)

手机扫描二维码访问

文章版权声明:除非注明,否则均为海东博科原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码