MariaDB 函数

MariaDB FROM_UNIXTIME() 函数返回给定 Unix 时间戳的日期或日期时间值。如果未指定格式,则该函数返回值采用以下格式:

  • 以"YYYY-MM-DD HH:MM:SS"格式返回结果,如果在字符串上下文中使用。
  • 如果在数字上下文中使用,则以 YYYYMMDDHHMMSS.uuuuuu 格式返回结果。

如果格式指定后,结果将根据给定的格式字符串进行格式化。

语法

FROM_UNIXTIME(unix_timestamp, format) 

参数

unix_timestamp必填。 指定 Unix 时间戳。
format可选。 指定一个格式字符串,指示返回值的格式。 以下是此参数的选项列表。 它可以用于多种组合。

Value描述
%a工作日名称缩写(周日至周六)
%b月份名称缩写(Jan 到 Dec)
%c月份为数值(0 到 12)
%D以数值表示的月份中的第几天,后跟后缀(第一、第二、第三……)
%d数值形式的月份中的某天(01 到 31)
%e以数值表示的月份中的某天(0 到 31)
%f微秒(000000 到 999999)
%H小时(00 至 23)
%h小时 (00 至 12)
%I小时(00 至 12)
%i分钟(00 到 59)
%j一年中的某天(001 到 366)
%k小时(00 到 23)
%l小时(1 至 12)
%M月份名称完整(一月至十二月)
%m月份名称作为数值(00 到 12)
%pAM 或 PM
%r12 小时 AM 或 PM 格式的时间 (hh:mm:ss AM/PM)
%S秒(00 到 59)
%s秒(00 到 59)
%T24 小时格式的时间 (hh:mm:ss)
%U星期日为一周第一天的星期(00 到 53)
%u星期一为一周第一天的星期 (00 到 53)
%V星期日是一周第一天的周(01 到 53)。 与 %X
%vWeek 一起使用,其中星期一是一周的第一天(01 到 53)。 与 %X 一起使用
%W完整的工作日名称(周日至周六)
%w星期日=0 且星期六=6 的星期几
%X星期日所在星期的年份 是一周的第一天。 与 %V
%x年份一起使用,其中星期一是一周的第一天。 与 %v
%Y使用 4 位数字的年份
%y年份为 2 位数字
%%文字 % 字符

返回值

返回日期或日期时间值。

示例 1:

下面的示例显示 FROM_UNIXTIME() 函数的用法。

SELECT FROM_UNIXTIME(1641883574);
Result: '2022-01-11 06:46:14'

SELECT FROM_UNIXTIME(1571969600, '%M %d, %Y');
Result: 'October 25, 2019'

SELECT FROM_UNIXTIME(1571969600, '%M %e %Y');
Result: 'October 25 2019'

SELECT FROM_UNIXTIME(1571969600, '%W, %M %e, %Y');
Result: 'Friday, October 25, 2019'

SELECT FROM_UNIXTIME(1571969600, '%W');
Result: 'Friday'

SELECT FROM_UNIXTIME(1571969600, '%r, %M %d, %Y');
Result: '02:13:20 AM, October 25, 2019' 

示例 2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

DataUnixLoginStamp
Data 11571995238
Data 21571995265
Data 31571995475
Data 41571995524
Data 51571995636

可以使用下面给出的语句将 UnixLoginStamp 列的记录转换为日期/日期时间值。

SELECT *, FROM_UNIXTIME(UnixLoginStamp) AS FROM_UNIXTIME_Value FROM Sample; 

这将产生如下所示的结果:

DataUnixLoginStamp
Data 11571995238
Data 21571995265
Data 31571995475
Data 41571995524
Data 51571995636