mysql时间转换
1.MySQL Date/Time to Str(日期/时间转换为字符串)
函数:date_format(date,format), time_format(time,format)
mysql> select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s'); +----------------------------------------------------+ | date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') | +----------------------------------------------------+ | 20080808222301 | +----------------------------------------------------+
MySQL 日期、时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式。
适用:已知字段是固定日期格式,可以把年月日等值取出来组合成其他形式
2.MySQL Str to Date (字符串转换为日期)
函数:str_to_date(str, format)
select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09 select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09 select str_to_date('08.09.2008', '%m.%d.%Y'); -- 2008-08-09 select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30 select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30
可以看到,str_to_date(str,format) 转换函数,可以把一些杂乱无章的字符串转换为日期格式。
适用:已知的字段是某种格式,参照原格式替换年月日代表值,转成统一的‘yyyy-mm-dd hh:ii:ss’的格式
3.MySQL (Unix 时间戳、日期)转换函数
函数:from_unixtime(unixtim, format)
unix_timestamp(), unix_timestamp(date), from_unixtime(时间戳), from_unixtime(时间戳,format)
适用:把一串时间戳展示成想要的格式,eg:from_unixtime(1218169800, '%Y %D %M %h:%i:%s %x')
下面是示例:
select unix_timestamp(); -- 1218290027 select unix_timestamp('2008-08-08'); -- 1218124800 select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800 select from_unixtime(1218290027); -- '2008-08-09 21:53:47' select from_unixtime(1218124800); -- '2008-08-08 00:00:00' select from_unixtime(1218169800); -- '2008-08-08 12:30:00' select from_unixtime(1218169800, '%Y %D %M %h:%i:%s %x'); -- '2008 8th August 12:30:00 2008'