2025-09-08 MySQL时间戳转日期教程:13位时间戳格式转换的完整步骤 MySQL时间戳转日期教程:13位时间戳格式转换的完整步骤 一、什么是13位时间戳?在数据处理中,我们常会遇到两种时间戳: - 10位时间戳:表示从1970年1月1日(UTC)开始的秒数 - 13位时间戳:精确到毫秒级,前10位代表秒,后3位为毫秒(如JavaScript默认生成的时间戳)二、MySQL转换核心函数1. FROM_UNIXTIME() 函数MySQL原生支持通过FROM_UNIXTIME()将Unix时间戳转为日期,但该函数默认仅支持10位时间戳。对于13位时间戳需先做除法处理:sql SELECT FROM_UNIXTIME(1633046400123 / 1000) AS datetime; 结果:2021-10-01 00:00:002. 保留毫秒精度(MySQL 5.6+)若需要保留毫秒,可使用DATE_FORMAT组合:sql SELECT CONCAT( FROM_UNIXTIME(1633046400123 / 1000), '.', LPAD(MOD(1633046400123, 1000), 3, '0') ) AS full_dateti... 2025年09月08日 24 阅读 0 评论
2025-09-01 MySQL时间戳转日期及范围查询终极指南 MySQL时间戳转日期及范围查询终极指南 一、时间戳与日期格式互转1. UNIX时间戳转标准日期sql SELECT FROM_UNIXTIME(1633046400) AS basic_convert, FROM_UNIXTIME(1633046400, '%Y-%m-%d %H:%i:%s') AS formatted_date; 输出结果:2021-10-01 00:00:00(两种格式相同)2. 日期转UNIX时间戳sql SELECT UNIX_TIMESTAMP('2023-05-15 14:30:00') AS timestamp_sec, UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3)) * 1000 AS timestamp_ms; 注意:毫秒级时间戳需要乘以10003. 时区转换技巧sql SET time_zone = '+8:00'; SELECT FROM_UNIXTIME(1633046400) AS beijing_time, CONVERT_TZ(FROM_UNIXTIME(1633046400), '+08:0... 2025年09月01日 35 阅读 0 评论
2025-08-29 MySQL时间戳处理指南:13位数字转日期格式的实用技巧 MySQL时间戳处理指南:13位数字转日期格式的实用技巧 一、什么是13位时间戳?在开发中,我们常遇到两种时间戳:- 10位时间戳:表示从1970-01-01 00:00:00 UTC到现在的秒数(经典UNIX时间戳)- 13位时间戳:精确到毫秒,前10位表示秒,后3位表示毫秒(常见于Java、JavaScript等语言生成的时间戳)例如:1625097600000 表示 2021年6月30日 00:00:00 UTC(含毫秒部分)。二、MySQL中的转换方法1. 基础转换:截断毫秒部分sql SELECT FROM_UNIXTIME(1625097600000 / 1000) AS datetime; 输出:2021-06-30 00:00:00 通过除以1000将13位时间戳转为10位,再用FROM_UNIXTIME函数转换。2. 保留毫秒精度(MySQL 5.6+)sql SELECT FROM_UNIXTIME(FLOOR(1625097600123 / 1000)) AS base_time, CONCAT( FROM_UNIXTIME(FLOOR(1625097600123 / 1000))... 2025年08月29日 39 阅读 0 评论