如何使用MySQL FROM_UNIXTIME函数将Unix时间戳转换成日期格式?

2026-04-30 13:531阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计907个文字,预计阅读时间需要4分钟。

如何使用MySQL FROM_UNIXTIME函数将Unix时间戳转换成日期格式?

FROM_UNIXTIME 是 MySQL 中将 Unix 时间戳(即从 1970-01-01 00:00:00 UTC 开始的秒数)转换为日期时间字符串的函数。默认返回的格式为 DATETIME 类型,格式为 'YYYY-MM-DD HH:MM:SS'。

常见误用是把毫秒级时间戳直接传进去——FROM_UNIXTIME 只接受**秒级整数**,传入 1717023600000 这样的毫秒值会得到错误结果(比如公元 56379 年)。

  • 正确: FROM_UNIXTIME(1717023600)'2024-05-30 15:00:00'
  • 错误: FROM_UNIXTIME(1717023600000) → 解析成远超预期的年份
  • 若只有毫秒值,先除以 1000 并用 FLOORCAST(... AS UNSIGNED) 截断小数:FROM_UNIXTIME(FLOOR(1717023600000 / 1000))

指定输出格式:第二个参数 format 的作用

FROM_UNIXTIME 支持可选的第二个参数 format,用类似 DATE_FORMAT 的格式符自定义输出字符串。这个参数不改变返回类型——即使你写成 '%Y年%m月%d日',结果仍是 VARCHAR,不是 DATE

阅读全文
标签:MysqlUNIX

本文共计907个文字,预计阅读时间需要4分钟。

如何使用MySQL FROM_UNIXTIME函数将Unix时间戳转换成日期格式?

FROM_UNIXTIME 是 MySQL 中将 Unix 时间戳(即从 1970-01-01 00:00:00 UTC 开始的秒数)转换为日期时间字符串的函数。默认返回的格式为 DATETIME 类型,格式为 'YYYY-MM-DD HH:MM:SS'。

常见误用是把毫秒级时间戳直接传进去——FROM_UNIXTIME 只接受**秒级整数**,传入 1717023600000 这样的毫秒值会得到错误结果(比如公元 56379 年)。

  • 正确: FROM_UNIXTIME(1717023600)'2024-05-30 15:00:00'
  • 错误: FROM_UNIXTIME(1717023600000) → 解析成远超预期的年份
  • 若只有毫秒值,先除以 1000 并用 FLOORCAST(... AS UNSIGNED) 截断小数:FROM_UNIXTIME(FLOOR(1717023600000 / 1000))

指定输出格式:第二个参数 format 的作用

FROM_UNIXTIME 支持可选的第二个参数 format,用类似 DATE_FORMAT 的格式符自定义输出字符串。这个参数不改变返回类型——即使你写成 '%Y年%m月%d日',结果仍是 VARCHAR,不是 DATE

阅读全文
标签:MysqlUNIX