Mysql获取昨日、今日时间以及时间戳

1、2020-04-14 00:00:00

-- 时间格式
SELECT DATE_FORMAT(CAST(SYSDATE()AS DATE),'%Y-%m-%d %H:%i:%s');

-- 时间戳
SELECT UNIX_TIMESTAMP(DATE_FORMAT(CAST(SYSDATE()AS DATE),'%Y-%m-%d %H:%i:%s'));

2、2020-04-14 23:59:59

-- 时间格式
SELECT DATE_SUB( DATE_ADD(CAST(SYSDATE()AS DATE), INTERVAL 1 DAY),INTERVAL 1 SECOND);

-- 时间戳
SELECT UNIX_TIMESTAMP(DATE_SUB(DATE_ADD(CAST(SYSDATE()AS DATE), INTERVAL 1 DAY),INTERVAL 1 SECOND));

3、今天日期:2020-04-14

SELECT CAST(SYSDATE()AS DATE)

4、当前时间:2020-04-14 18:43:25

SELECT SYSDATE(),now()

5、获取昨日0点时间和12::59:59秒时间和时间戳

SELECT 
CONCAT(DATE_FORMAT(CAST(SYSDATE()AS DATE) - INTERVAL 1 DAY,'%Y-%m-%d'),' 00:00:00'),
CONCAT(DATE_FORMAT(CAST(SYSDATE()AS DATE) - INTERVAL 1 DAY,'%Y-%m-%d'),' 23:59:59')

image.png

– 日期字符串转时间戳,10位,数据库存储的是13位
select UNIX_TIMESTAMP(‘2019-09-01 00:00:00’);

– 时间戳转日期
select FROM_UNIXTIME(1567267200,‘%Y-%m-%d %H:%i:%s’)

6、查询最近一天的时间

SELECT DATE_ADD('1589201281', INTERVAL -1 DAY)

7、当日/昨天/前三天

SELECT CAST(SYSDATE()AS DATE);	-- 2020-06-05
SELECT DATE_SUB(DATE_ADD(CAST(SYSDATE()AS DATE), INTERVAL 1 DAY),INTERVAL 1 SECOND);	-- 2020-06-05 23:59:59
SELECT UNIX_TIMESTAMP('2020-06-05')+86400-1;	-- 参数当天结束时间戳

SELECT DATE_SUB(CAST(SYSDATE()AS DATE), INTERVAL 1 DAY);	-- 2020-06-04
SELECT DATE_SUB(DATE_SUB(CAST(SYSDATE()AS DATE), INTERVAL 0 DAY),INTERVAL 1 SECOND);	-- 2020-06-04 23:59:59
SELECT UNIX_TIMESTAMP('2020-06-05')-1;	-- 2020-06-04 23:59:59

SELECT DATE_SUB(CAST(SYSDATE()AS DATE), INTERVAL 2 DAY);	-- 2020-06-03
SELECT DATE_SUB(DATE_SUB(CAST(SYSDATE()AS DATE), INTERVAL 1 DAY),INTERVAL 1 SECOND);	-- 2020-06-04 23:59:59
SELECT UNIX_TIMESTAMP('2020-06-05')-86400-1;	-- 2020-06-04 23:59:59

8、时间转换

FROM_UNIXTIME(event_time, '%Y-%m-%d')
UNIX_TIMESTAMP(event_time)
DATE_FORMAT(event_time, '%Y-%m-%d')

时间使用规范

最近开发公司项目时候,发现年月日、年月、年、时间这么多字段,平时我们只知道date和datetime,那么经过这次开发,我明白了如何使用才正确

种类 mysql类型 java类型
年月日 date Date
年月 date Date
date或int Date
时间 datetime Date

element前端控件不管是年月日、日期、年月、年一般都需要用date是最好的,不然无法回显
year使用year类型时候范围只能在1971-2039范围内,并且返回前端不太好显示,所以有坑,尽量不要用,应尽量使用int或者date

上一篇 下一篇