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

MySQL 常用時間函數速查:NOW、UNIX_TIMESTAMP、FROM_UNIXTIME、DATE_FORMAT 實戰示例

     編輯:MySQL 綜合教學

MySQL 時間日期函數核心用法速查表

游戲後台統計、日誌分析、報表查詢中高頻使用的時間轉換、格式化、計算函數,附實際輸出示例。

1. 獲取當前時間

SELECT NOW();        -- 2014-11-24 18:38:17 (日期時間)
SELECT CURDATE();    -- 2014-11-24 (僅日期)
SELECT CURTIME();    -- 18:38:17 (僅時間)

2. Unix 時間戳雙向轉換

-- 日期時間 → 時間戳 (秒)
SELECT UNIX_TIMESTAMP();                    -- 1416825969 (當前)
SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00'); -- 875996580

-- 時間戳 → 日期時間
SELECT FROM_UNIXTIME(875996580);            -- 1997-10-05 04:23:00
SELECT FROM_UNIXTIME(875996580, '%y%m%d');  -- 971005 (自定義格式)

3. 日期時間格式化輸出

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 2014-11-24 18:38:17
SELECT DATE_FORMAT(NOW(), '%y%m%d');            -- 141124
SELECT DATE_FORMAT('2014-11-24', '%W %M %Y');   -- Monday November 2014

常用格式符對照表

符號含義示例
%Y4 位年份2014
%y2 位年份14
%m月份 (01-12)11
%d日期 (01-31)24
%H小時 (00-23)18
%i分鐘 (00-59)38
%s秒 (00-59)17
%W星期名稱Monday
%M月份名稱November

4. 日期計算與邊界

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);     -- 明天同一時間
SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);    -- 1 小時前
SELECT DATEDIFF('2014-12-01', '2014-11-24'); -- 7 (天數差)
SELECT LAST_DAY('2014-02-10');              -- 2014-02-28 (月末日期)

5. 時區處理

SELECT @@session.time_zone;  -- SYSTEM / +08:00
SET time_zone = '+08:00';    -- 會話級設置
-- 存儲建議: 統一存 UTC (TIMESTAMP 自動轉換), 應用層按用戶時區展示
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved