跳到主要内容

from_unixtime:UNIX时间戳转日期

速查结论

from_unixtime(unix_time[, fmt]) 是 Spark SQL 中用于将 UNIX 时间戳转换为指定格式的日期时间字符串的函数。

语法

from_unixtime(unix_time[, fmt])

参数说明

参数类型说明
unix_timeBIGINT要转换为提供格式的 UNIX 时间戳
fmtSTRING要遵循的日期/时间格式模式。请参阅日期时间模式以获取有效的日期和时间格式模式。如果省略,则使用 'yyyy-MM-dd HH:mm:ss' 模式

示例

> SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss');
1969-12-31 16:00:00

> SELECT from_unixtime(0);
1969-12-31 16:00:00

常见报错与避坑指南

  • UNIX 时间戳 0 对应的 UTC 时间是 1970-01-01 00:00:00,但在东八区(如北京时间)显示为 1969-12-31 16:00:00,这是正确的时区偏移,不是 bug。
  • 如果 fmt 格式字符串无效,Spark 将抛出 IllegalArgumentException

Since: 1.5.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看