目录

MySQL日期和时间类型

1,NOW():返回当前日期和时间。

2,CURDATE():返回当前日期。

3,CURTIME():返回当前时间。

4,DATE():提取日期值。

5,TIME():提取时间值。

6,YEAR():提取年份。

7,MONTH():提取月份。

8,DAY():提取日期中的天数。

9,HOUR():提取小时数。

10,MINUTE():提取分钟数。

11,SECOND():提取秒数。

12,DATE_FORMAT():将日期格式化为指定的格式。

13,DATE_ADD():在日期上添加一个指定的时间间隔。

14,DATE_SUB():从日期中减去一个指定的时间间隔。

15,DATEDIFF():计算两个日期之间的天数差异。

16,UNIX_TIMESTAMP():返回一个时间戳

17,FROM_UNIXTIME()时间戳转换日期


MySQL日期和时间类型

MySQL中有许多日期和时间类型,包括日期类型、时间类型、日期时间类型、时间戳类型等等。常用的日期类型有DATE、YEAR、TIME;常用的日期时间类型有DATETIME和TIMESTAMP

NOW():返回当前日期和时间。

select NOW()//获取当前日期时间,年月日-时分秒

        运行如下

                

mysql long转年月日格式 mysql转日期函数_mysql

CURDATE():返回当前日期。

select CURDATE()//获取日期,年-月-日

        运行如下

                

mysql long转年月日格式 mysql转日期函数_程序人生_02

CURTIME():返回当前时间。

select CURTIME()//返回当前的时间,时:分:秒

       运行如下

                  

mysql long转年月日格式 mysql转日期函数_mysql_03

DATE():提取日期值。

select DATE('2023-4-4')//获取日期,第4日

               运行如下

                   

mysql long转年月日格式 mysql转日期函数_数据库_04

TIME():提取时间值。

select time('23')//获取秒数

YEAR():提取年份。

select YEAR('2024-3-3')//获取日期年份,2024年

MONTH():提取月份。

select MONTH('2024-3-3')//获取日期月份,3月

DAY():提取日期中的天数。

select DAY('2024-3-3')//获取日期天数,3天

HOUR():提取小时数。

SELECT HOUR(NOW());//提取当前时间的小时

MINUTE():提取分钟数。

SELECT MINUTE(NOW());//提取当前时间的分钟

SECOND():提取秒数。

SELECT SECOND(NOW());//提取当前时间的秒数

DATE_FORMAT():将日期格式化为指定的格式。

//%Y表示年份,%m表示月份,%d表示日期
select DATE_FORMAT('2022-1-1','%y-%m-%d')://22-01-01
select DATE_FORMAT('2022-1-1','%y年-%m月-%d日')//22年-01月-01日

//%H表示小时,%i表示分钟,%s表示秒钟
SELECT TIME_FORMAT('21:36:28', '%H:%i:%s');//21:36:28

//日期时间格式化为“YYYY-MM-DD HH:MM:SS”格式
SELECT DATE_FORMAT('2022-03-24 21:36:28', '%Y-%m-%d %H:%i:%s')//2022-03-24 21:36:28

DATE_ADD():在日期上添加一个指定的时间间隔。

-- 语法:DATE_ADD(date,INTERVAL expr type)
-- date日期表达式,expr 参数是添加的时间间隔,type 参数
select date_add('2023-03-23',INTERVAL 7 DAY);//日期向后推7天

select date_add(now(),INTERVAL -7 DAY);//当前日期向前推7天

SELECT date_add(CURRENT_DATE(),INTERVAL 10 YEAR)//当前年份向后推10年,末尾的时间单位可以变换

DATE_SUB():从日期中减去一个指定的时间间隔。

//MySQL的DATE_SUB()函数用于从指定的日期中减去一个时间间隔。具体而言,它可以从一个日期或时间减去指定的天数、小时、分钟、秒等。它的语法为
DATE_SUB(date, INTERVAL expr unit);
//其中,date表示日期或时间,expr表示减去的时间间隔,unit表示时间间隔的单位,可以是DAY、HOUR、MINUTE、SECOND等

SELECT DATE_SUB(NOW(), INTERVAL 10 DAY);//从当前时间中减去10天

SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);//从指定的日期中减去1小时

//除了以上两个例子,还可以根据需要使用不同的时间间隔单位和时间对象
来实现各种日期计算的需求。需要注意的是,如果要将一个日期加上一个时间间隔
可以使用DATE_ADD()函数

DATEDIFF():计算两个日期之间的天数差异。

//两个日期参数的位置可以交换,因为结果取绝对值
SELECT DATEDIFF(NOW(), '2022-07-01')//DATEDIFF函数可以计算两个日期之间的天数差异

17,UNIX_TIMESTAMP():返回一个时间戳

//时间戳是指格林威治时间1970年01月01日00时00分00秒
//(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
select UNIX_TIMESTAMP()//返回一个unix时间戳

18,FROM_UNIXTIME()时间戳转换日期

\\时间戳转换日期
SELECT FROM_UNIXTIME(1612165200) AS date

SELECT UNIX_TIMESTAMP(NOW()) AS timestamp;\\获取当前时间的时间戳