Mysql 日期,时间戳,字符串相互转换
一、函数介绍
1、date_format(date, format)
将date按照formatj进行格式化,
date 参数是合法的日期,
format 规定日期/时间的输出格式。
2、str_to_date(str, format)
将字符串转换为日期类型,输出结果为DATETIME类型的值,
str参数为目标字符串,
format 规定日期/时间的输出格式。
str中日期的格式要与format格式相同,否则结果为“NULL”。
3、unix_timestamp(date)
将date中的时间转换为时间戳,
date省略时,返回当前时间的时间戳。
4、from_unixtime(unix_timestamp, format)
将时间戳unix_timestamp转换为format中指定格式
unix_timestamp为目标时间戳
format 规定日期/时间的输出格式
format 为空时,默认为形同'%Y-%m-%d %h:%i:%s.%f'的格式
format可以使用的格式
1、date_format(date, format)
select date_format(now(),'%Y-%m-%d')as a,#now()为获取当前日期和时间
date_format('2020-04-06','%Y-%m-%d')as b,
date_format('20200406','%Y-%m-%d') as c,
date_format('2020/04/06','%Y-%m-%d')as d,
date_format('2026','%Y-%m-%d')as e;#非日期格式
2、str_to_date(str, format)
select str_to_date('2020-04-06','%Y-%m-%d')as a,
str_to_date('2020-04-06 10:20:30','%Y-%m-%d')as b,
str_to_date('2020-4-6','%Y-%m-%d')as c,
str_to_date('2020/04/06','%Y/%m/%d')as d,
str_to_date('20200406','%Y%m%d')as e;
select unix_timestamp()as a ,
unix_timestamp(now())as b,
unix_timestamp('2020-04-08')as c,
unix_timestamp('2020/04/08')as d,
unix_timestamp('20200408')as e;
4、from_unixtime(unix_timestamp, format)
select from_unixtime('1586342435')as a ,
from_unixtime('1586342435','%Y-%m-%d')as b,
from_unixtime('15863424351','%Y-%m-%d')as c,#时间戳错误
from_unixtime('1586342435','%Y-%m-%d %h:%i:%s.%f')as d;