详解MySQL的FROM_UNIXTIME()函数:将 Unix 时间戳转为指定日期格式

  • Post category:MySQL

MySQL中的FROM_UNIXTIME()函数可以将一个UNIX时间戳转换为指定格式的日期时间字符串。UNIX时间戳是指自1970年1月1日00:00:00至某个时间点所经过的秒数。FROM_UNIXTIME()函数可以将这些秒数转换为人类可读的日期时间格式。

使用方法:

函数原型:FROM_UNIXTIME(unix_timestamp[,format])

其中,“unix_timestamp”是UNIX时间戳,单位为秒。如果要将MySQL中的日期时间转换为UNIX时间戳,可以使用UNIX_TIMESTAMP()函数。另外,UNIX时间戳通常是整数类型。如果是小数类型,FROM_UNIXTIME()函数会将其转换为整数类型。

“format”是一个可选的参数,用于指定输出的日期时间格式。如果不指定,则默认输出为“%Y-%m-%d %H:%i:%s”格式的字符串。format参数有以下常用的格式化选项:

  • %Y:4位数年份
  • %m:月份(01-12)
  • %d:日期(01-31)
  • %H:小时(00-23)
  • %i:分钟数(00-59)
  • %s:秒(00-59)

实例1:将UNIX时间戳转换为指定格式的日期时间字符串

假设现在要将UNIX时间戳“1620904412”转换为“2021-05-13 15:40:12”格式的日期时间字符串,可以使用以下代码:

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

执行以上代码,结果如下:

+-------------------------+
| FROM_UNIXTIME(1620904412,'%Y-%m-%d %H:%i:%s') |
+-------------------------+
| 2021-05-13 15:40:12     |
+-------------------------+

实例2:使用UNIX_TIMESTAMP()函数将MySQL中的日期时间转换为UNIX时间戳

假设现在要将MySQL中的日期时间“2021-05-13 15:40:12”转换为UNIX时间戳,可以使用以下代码:

SELECT UNIX_TIMESTAMP('2021-05-13 15:40:12');

执行以上代码,结果如下:

+-------------------------------------+
| UNIX_TIMESTAMP('2021-05-13 15:40:12') |
+-------------------------------------+
| 1620904412                           |
+-------------------------------------+

从以上结果可以看出,MySQL会将输入的日期时间转换为UNIX时间戳格式。

总结:

FROM_UNIXTIME()函数是MySQL中一个十分实用的函数,可以将UNIX时间戳转换为指定格式的日期时间字符串。在实际应用中,可以根据自己的需求指定输出格式,以便更好的进行数据处理和分析。