mysql 日期函数总结

1.根据日期转换为指定的日期格式

示例:select DATE_FORMAT(now(),'%Y-%m-%d %h:%i:%s');

语法:DATE_FORMAT(date, format)

返回值:返回指定的日期格式的字符串

该函数可根据format字符串格式化日期或日期和时间值date,返回结果串。

format格式可参考为w3c手册:http://www.w3school.com.cn/sql/func_date_format.asp


2.mysql字符串时间 转 秒数

示例:select UNIX_TIMESTAMP('2018-01-01 23:59:59');

语法:UNIX_TIMESTAMP(date

返回值:自'1970-01-01 00:00:00'到指定时间的秒数差

其中date可以是一个DATE字符串,一个DATETIME字符串,一个TIMESTAMP或者一个当地时间的YYMMDD或YYYMMDD格式的数字

data不填,返回的为自'1970-01-01 00:00:00'的到当前时间的秒数差

以下几种格式返回的结果相同,结果都是:1516550400
SELECT UNIX_TIMESTAMP('20180122');
SELECT UNIX_TIMESTAMP('2018-1-22');
SELECT UNIX_TIMESTAMP('2018-01-22');

DATETIME字符串格式:(日期和时间的组合类型)
SELECT UNIX_TIMESTAMP('2018-01-22 11:01:55')  => 1516590115
SELECT UNIX_TIMESTAMP(NOW())  => 1516590115

注:NOW()的返回值是一个DATETIME字符串格式


3.MySQL 为日期增加一个时间间隔:date_add()

now()       //now函数为获取当前时间

select date_add(now(), interval 1 day); - 加1天
select date_add(now(), interval 1 hour); -加1小时
select date_add(now(), interval 1 minute); - 加1分钟
select date_add(now(), interval 1 second); -加1秒
select date_add(now(), interval 1 microsecond);-加1毫秒
select date_add(now(), interval 1 week);-加1周
select date_add(now(), interval 1 month);-加1月
select date_add(now(), interval 1 quarter);-加1季
select date_add(now(), interval 1 year);-加1年

备注:MySQL adddate(), addtime()函数,可以用date_add() 来替代。


4.MySQL 为日期减去一个时间间隔:date_sub()

MySQL date_sub() 日期时间函数 和date_add() 用法一致。

备注:MySQL 中subdate(),subtime()函数,建议,用date_sub()来替代。


5.mysql秒数 转 字符串时间

示例:select from_unixtime(1514736000); 

语法:FROM_UNIXTIME(unix_timestamp,format)

返回值:返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。

unix_timestamp代表秒数,format为要转化为的格式,不写 等价于 select from_unixtime(1514736000,'%Y-%m-%d %h:%i:%s'); 

根据format字符串格式化date值。

下列修饰符可以被用在format字符串中:

%M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天
%% 一个文字“%”



猜你喜欢

转载自blog.csdn.net/qq_25646191/article/details/79133167