目录

1,日期时间格式化 date_format,  time_format

2,计算日期、时间之间的差值,单位有秒,天,月

3,字符串转换为日期函数str_to_date( )函数

4,timestamp

5,时间、秒数之间的转化  sec_to_time, time_to_sec

6,last_day( ):返回给定日期那一月份的最后一天

7,自定义生成日期、时间  makedate,   maketime

8,获取系统当前日期时间   now, sysdate,  locatime,   current_time,  curtime, localtimestamp

9,DATE( ),  TIME( )  函数,分别提取日期部分、时间部分

10,日期加减   adddate  subdate   date_add   date_sub

11,时间加减  addtime   subtime

12,提取年月日 时分秒,year  month   day   hour  minute   second

 

 

 

1,日期时间格式化

 DATE_FORMAT(日期,格式)

TIME_FORMAT(时间,格式)

 

 

mysql 列出1天24小时 mysql 当天日期_当前日期

 

MySQL日期格式化(format)取值范围。

 


含义

毫秒

%f

 


%S、%s

两位数字形式的秒( 00,01, ..., 59)


%I、%i

两位数字形式的分( 00,01, ..., 59)

小时 

24小时制

%H,%k : 24小时制,两位数形式(00,01, ...,23)

12小时制

%h, %I:12小时制,两位数形式(00,01, ...,23)

%l: 12小时制,位数视情况而定(0,1, ...,12),这是L的小写形式

%i

返回分钟数

%p

返回AM上午或PM下午 

%r

 12小时制,时间形式(hh:mm:ss AM 或 PM)

%T

24小时制,时间形式(HH:mm:ss)

  周 

 %W

一周中每一天的名称(Sunday,Monday, ...,Saturday)

 %a

一周中每一天名称的缩写(Sun,Mon, ...,Sat) 

%w 

以数字形式标识周(0=Sunday,1=Monday, ...,6=Saturday) 

%U

数字表示周数,星期天为周中第一天

%u

数字表示周数,星期一为周中第一天


%d 

两位数字表示月中天数(01,02, ...,31)

%e 

 数字表示月中天数(1,2, ...,31)

 %D

英文后缀表示月中天数(1st,2nd,3rd ...) 

 %j

以三位数字表示年中天数(001,002, ...,366) 


%M 

英文月名(January,February, ...,December) 

%b 

英文缩写月名(Jan,Feb, ...,Dec) 

%m 

两位数字表示月份(01,02, ...,12)

%c 

数字表示月份(1,2, ...,12) 


%Y 

四位数字表示的年份(2015,2016...)

%y 

 两位数字表示的年份(15,16...)

文字输出 

%文字 

直接输出文字内容

 

 

2,计算日期、时间之间的差值,单位有秒,天,月

#结果为:时分秒格式
timediff("12:13:45","10:13:45"),timediff("12:13:45","15:23:25") , #前者-后者,可能会返回负数

# 结果:天数
datediff(now(),"2020-07-01"),   datediff(now(),"2020-08-12"),  #这个不考虑时间,只计算天数的差值

#计算加一个数后的年月,计算两个年月之间相差的月数
period_add(202008,17),  period_add("202009",1),
period_diff(202009,201904)  #前者-后者

 

3,字符串转换为日期函数str_to_date( )函数

#注意前者月份是阿拉伯数字,所以格式里是%m,但后者月份是英文形式,所以格式里使用%M
#格式里年月日的顺序要跟字符串中对应
str_to_date("5 24 2019" ,"%m %d %Y") as a, STR_TO_DATE("August 10 2017", "%M %d %Y") as b

结果

mysql 列出1天24小时 mysql 当天日期_字符串转换_02

 

4,TIMESTAMP(  )函数

第二个参数只有1个数字时,是当做秒数计算的,而后面指定minute, day都报错

暂时还不清楚有什么用

mysql 列出1天24小时 mysql 当天日期_当前日期_03

 

 

mysql 列出1天24小时 mysql 当天日期_字符串转换_04

 

5,时间、秒数之间的转换

mysql 列出1天24小时 mysql 当天日期_时间格式_05

 

 

6,last_day( ):返回给定日期那一月份的最后一天

mysql 列出1天24小时 mysql 当天日期_当前日期_06

 

 7,自定义生成日期、时间

makedate(year, 天数)  #根据指定的天数,返回指定年份的日期

maketime(hour, minute,  second) #组合成一个时间

举例

mysql 列出1天24小时 mysql 当天日期_mysql 列出1天24小时_07

 

 

8,获取系统当前日期时间(PS:返回格式: 日期,时间  都有)

函数: 注意后面的几个函数括号可以省略

select now(), sysdate(),  #必须带着括号
localtime,  localtime(),  # 返回结果都是当前日期时间格式,后面的这几种括号可有可无
localtimestamp,   localtimestamp(),
current_timestamp,  current_timestamp();

结果:

mysql 列出1天24小时 mysql 当天日期_mysql 列出1天24小时_08

 

 

 

9,只返回日期 或时间,两者不是同时存在,括号不能省略(否则报错)

日期: curdate( ), current_date( )

时间:curtime( ),current_time( )

 

mysql 列出1天24小时 mysql 当天日期_mysql 列出1天24小时_09

 

 10,DATE( ),  TIME( )  函数,分别提取日期部分、时间部分

mysql 列出1天24小时 mysql 当天日期_字符串转换_10

 

 11,日期加减,年月日 时分秒 都可以

adddate(now(),3),subdate(now(),-3), adddate(now(),-3), subdate(now(),3),  # 可使用负数,adddate用负数代表减去几天,subdate使用负数代表加上几天

adddate(now(),interval 10 minute),subdate(now(),interval 10 minute)  # adddate, subdate也可以指定参数interval

date_add(now(),interval 3 day),date_sub(now(),interval 3 day)  # 使用date_add和date_sub必须带上参数Interval n 单位类型

 

mysql 列出1天24小时 mysql 当天日期_字符串转换_11

 

 

时间加减,单位只能是秒

subtime(now(),3),  addtime(Now(),10)

 

 

12,提取年月日,只要参数是日期-时间格式都可

mysql 列出1天24小时 mysql 当天日期_字符串转换_12

 

 

 提取时分秒,只要参数是日期-时间格式都可

mysql 列出1天24小时 mysql 当天日期_mysql 列出1天24小时_13