mysql日期、字符串、时间戳互转

黎小强
2020-11-09 / 0 评论 / 1,246 阅读 / 正在检测是否收录...
mysql日期函数时间戳、字符串、日期格式互转

DATE_FORMAT() 把日期进行格式化
FROM_UNIXTIME() 把时间戳格式化成一个日期

UNIX_TIMESTAMP() 把日期格式化成时间戳

DATE_FORMAT

用于格式化mysql的时间函数 date,datetime,timestamp,time,year

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据,其语法是:DATE_FORMAT(date,format)

select date_format(now(), '%Y-%m-%d');  
/**结果:2020-03-*18 **/

FROM_UNIXTIME

时间戳转日期
unix_timestamp 参数为要转换的时间戳,format 参数则规定日期/时间的输出格式,他可以使用的格式和 DATE_FORMAT() 函数基本一致,这里不再列出。

如果保存时间戳的字段类型为INT或其他类型时,可以使用该函数进行转换,其语法是 FROM_UNIXTIME(unix_timestamp ,format)

SELECT FROM_UNIXTIME(create_time,"%Y-%m-%d") FROM `user`

UNIX_TIMESTAMP()

日期转时间戳
只有一个参数,date 为合法的日期

日期转换成时间戳,其语法是 UNIX_TIMESTAMP(date )

SELECT UNIX_TIMESTAMP(date_time) FROM `user`

其中参数 date参数规定日期/时间输出格式有如下:

格式描述
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小 时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位
0

评论 (0)

取消