MariaDB FROM_UNIXTIME() 函数的基础用法与实例

MariaDB FROM_UNIXTIME() 函数是一个日期和时间函数,它可以将一个 Unix 时间戳(以秒为单位的整数)转换为一个日期时间值。

发布于

MariaDB FROM_UNIXTIME() 函数是一个日期和时间函数,它可以将一个 Unix 时间戳(以秒为单位的整数)转换为一个日期时间值。Unix 时间戳是指从 1970 年 1 月 1 日(UTC)开始经过的秒数。FROM_UNIXTIME() 函数可以用于将 Unix 时间戳转换为人类可读的格式,或者用于与其他日期时间函数进行计算或比较。

语法

FROM_UNIXTIME() 函数的语法如下:

FROM_UNIXTIME(unix_timestamp, [format])

其中,unix_timestamp 是一个 Unix 时间戳,必须是一个整数或可以转换为整数的表达式。如果 unix_timestampNULL,则函数返回 NULL

format 是一个可选的参数,用于指定返回的日期时间值的格式。format 必须是一个字符串,可以包含以下占位符:

占位符 含义
%a 星期名的缩写(Sun..Sat)
%b 月份名的缩写(Jan..Dec)
%c 月份,数值(0..12)
%D 带有英文后缀的月份中的天(1st, 2nd, 3rd, 等等)
%d 月份中的天,数值(00..31)
%e 月份中的天,数值(0..31)
%f 微秒(000000..999999)
%H 小时(00..23)
%h 小时(01..12)
%I 小时(01..12)
%i 分钟,数值(00..59)
%j 年份中的天(001..366)
%k 小时(0..23)
%l 小时(1..12)
%M 月份名(January..December)
%m 月份,数值(00..12)
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%S 秒(00..59)
%s 秒(00..59)
%T 时间, 24-小时(hh:mm:ss)
%U 周(00..53),其中周日是周的第一天
%u 周(00..53),其中周一是周的第一天
%V 周(01..53),其中周日是周的第一天,与 %X 使用
%v 周(01..53),其中周一是周的第一天,与 %x 使用
%W 星期名(Sunday..Saturday)
%w 周的天数(0..6),其中 0 为周日
%X 年,其中周日是周的第一天,4 位,与 %V 使用
%x 年,其中周一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位

如果省略 format 参数,或者 formatNULL,则函数返回一个 DATETIME 类型的值,格式为 YYYY-MM-DD hh:mm:ss。如果 format 包含非法的占位符,或者与 unix_timestamp 不匹配的占位符,则函数返回 NULL

实例

以下是一些使用 FROM_UNIXTIME() 函数的实例。

将 Unix 时间戳转换为默认的日期时间格式

SELECT FROM_UNIXTIME(1614087600);

输出:

2021-02-23 21:40:00

这个实例将一个 Unix 时间戳 1614087600 转换为默认的日期时间格式 YYYY-MM-DD hh:mm:ss

将 Unix 时间戳转换为指定的日期时间格式

SELECT FROM_UNIXTIME(1614087600, '%Y年%m月%d日 %H时%i分%s秒');

输出:

2021年02月23日 21时40分00秒

这个实例将一个 Unix 时间戳 1614087600 转换为指定的日期时间格式 %Y年%m月%d日 %H时%i分%s秒

将 Unix 时间戳转换为只包含日期的格式

SELECT FROM_UNIXTIME(1614087600, '%Y-%m-%d');

输出:

2021-02-23

这个实例将一个 Unix 时间戳 1614087600 转换为只包含日期的格式 %Y-%m-%d

将 Unix 时间戳转换为只包含时间的格式

SELECT FROM_UNIXTIME(1614087600, '%T');

输出:

21:40:00

这个实例将一个 Unix 时间戳 1614087600 转换为只包含时间的格式 %T

将 Unix 时间戳转换为带有微秒的格式

SELECT FROM_UNIXTIME(1614087600.123456, '%Y-%m-%d %H:%i:%s.%f');

输出:

2021-02-23 21:40:00.123456

这个实例将一个 Unix 时间戳 1614087600.123456 转换为带有微秒的格式 %Y-%m-%d %H:%i:%s.%f

相关函数

以下是一些与 FROM_UNIXTIME() 函数相关的函数:

  • UNIX_TIMESTAMP() 函数:将一个日期时间值转换为一个 Unix 时间戳。
  • DATE_FORMAT() 函数:将一个日期时间值按照指定的格式进行格式化。
  • STR_TO_DATE() 函数:将一个字符串按照指定的格式转换为一个日期时间值。

结论

MariaDB FROM_UNIXTIME() 函数是一个有用的函数,它可以将一个 Unix 时间戳转换为一个日期时间值,或者按照指定的格式进行格式化。它可以用于将 Unix 时间戳转换为人类可读的格式,或者用于与其他日期时间函数进行计算或比较。