首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 日期類型與毫秒時間戳相互轉換函數實戰

     編輯:MySQL 綜合教學

MySQL 日期類型與毫秒時間戳相互轉換函數實戰

場景

查詢、統計、前端交互常需在 DATETIME/TIMESTAMP 與 Unix 時間戳(秒/毫秒)間轉換。

準備測試數據

USE test;
CREATE TABLE t_stu_info(
    id INT NOT NULL PRIMARY KEY,
    stu_name VARCHAR(20),
    stu_date TIMESTAMP,
    stu_age INT(3),
    stu_sex VARCHAR(5)
);
INSERT INTO t_stu_info VALUES (1, 'zhangsan', '2000-12-12 12:30:00', 15, 'man');

1. 日期 → Unix 時間戳(秒)

SELECT UNIX_TIMESTAMP(t.stu_date) FROM t_stu_info t;

結果:976633800(秒級)

2. 時間戳 → 格式化日期

-- 完整時間
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(t.stu_date), '%Y-%m-%d %h:%i:%s') AS stu_date
FROM t_stu_info t;
-- 結果:2000-12-12 12:30:00

-- 僅日期
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(t.stu_date), '%Y-%m-%d') AS stu_date
FROM t_stu_info t;
-- 結果:2000-12-12

補充:毫秒級處理

MySQL 5.6.4+ 支持微秒精度 DATETIME(6)。
• UNIX_TIMESTAMP(日期) 返回秒(含小數部分)。
• FROM_UNIXTIME(秒.微秒) 可還原微秒。
• 若需純毫秒整數:ROUND(UNIX_TIMESTAMP(日期) * 1000)。

常用格式化符號

符號含義
%Y四位年份
%m兩位月份
%d兩位日期
%H24制小時
%i分鐘
%s秒
%f微秒(6位)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved