mysql如何将存储的秒转换为日期

数据库存储日期的类型

     数据库中存储时间有很多种方式,出于不同的考量存储的方式也不同,常见的几种类型有:timestamp,int(秒数),bigint(毫秒数),date(年月日),time(时、分、秒)。
     当在数据库中存储的时间为秒数或者毫秒数的时候,如何转换为具体的日期呢,可以通过FROM_UNIXTIME(sec,format)函数和UNIX_TIMESTAMP(date)函数实现秒/毫秒数和日期的转换。

FROM_UNIXTIME(sec,format)
  • 函数将秒转换为日期
  • 参数sec指的是秒数,format指的是格式
select FROM_UNIXTIME(u_registryDate,'%Y-%m-%d %h:%i:%s') from u_user
UNIX_TIMESTAMP(date)
  • 将日期转换为秒数
  • date是日期
select UNIX_TIMESTAMP(date) from u_user
SEC_TO_TIME(sec)
  • 将秒转换为小时:分钟:秒形式
select SEC_TO_TIME(u_registryDate) from u_user
TIME_TO_SEC(date)
  • 将时间转换为秒,date格式X时X分X秒,如果是年月日时分秒格式只转后面时分秒
select TIME_TO_SEC(date) from u_user

日期常用操作说明符:

说明符 说明
%a 工作日的缩写名称(Sun~Sat)
%b 月份的缩写名称(Jan…Dec)
%c 月份,数字形式(0~12)
%D 带有英语后缀的该月日期(0th, 2st, 3nd,…)
%d 该月日期,数字形式(00~31)
%e 该月日期,数字形式((0~31)
%f 微秒(000000 …999999)
%H 以 2 位数表示 24 小时(00~23)
%h, %I 以 2 位数表示 12 小时(01~12)
%i 分钟,数字形式(00~59)
%j —年中的天数(001~366)
%k 以 24 小时(0~23)表示
%l 以12小时(1~12)表示
%M 月份名称(January~December)
%m 月份,数字形式(00~12)
%p 上午(AM) 或下午(PM)
%r 时间,12小时制(小时 (hh): 分钟 (mm) : 秒数 (ss) 后加 AM 或 PM)
%S, %s 以 2 位数形式表示秒(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 位数形式表示年份
%% %一个文字字符

你可能感兴趣的:(数据库,mysql,毫秒数转日期,秒转日期)