MySQL 日期、字符串、時間戳互轉

背景

原文地址:http://www.javashuo.com/article/p-hosixpjd-ms.htmlhtml

平時比較經常使用的時間、字符串、時間戳之間的互相轉換,雖然經常使用可是幾乎每次使用時候都喜歡去搜索一下用法;函數

本文將做爲一個筆記,整理一下三者之間的 轉換(即:date轉字符串、date轉時間戳、字符串轉date、字符串轉時間戳、時間戳轉date,時間戳轉字符串)用法,方便往後查看;spa

涉及的函數

DATE_FORMAT(date,format)  MySQL日期格式化函數unix

STR_TO_DATE(str,format)  MySQL字符串格式化爲日期code

UNIX_TIMESTAMP()  MySQL其餘數據轉換爲時間戳orm

FROM_UNIXTIME(unix_timestamp,format)  MySQL時間戳格式化函數htm

時間和字符串互相轉換

(1)時間轉字符串blog

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');

(2)字符串轉時間字符串

SELECT STR_TO_DATE('2016-01-02', '%Y-%m-%d %H');

時間和時間戳互相轉換

(1)時間轉時間戳get

SELECT UNIX_TIMESTAMP(NOW());

(2)時間戳轉時間

SELECT FROM_UNIXTIME(1557733871);

字符串和時間戳互相轉換

(1)字符串轉時間戳

SELECT UNIX_TIMESTAMP('2016-01-02');

(2)時間戳轉字符串

SELECT FROM_UNIXTIME(1451997924,'%Y-%d');

附表

毫秒 %f 毫秒數(000000...999999)
%S、%s 兩位數字形式的秒( 00,01, ..., 59)
%I、%i 兩位數字形式的分( 00,01, ..., 59)
小時  %H 24小時制,兩位數形式小時(00,01, ...,23)
%h 12小時制,兩位數形式小時(00,01, ...,12)
%k 24小時制,數形式小時(0,1, ...,23)
%l 12小時制,數形式小時(0,1, ...,12)
%T 24小時制,時間形式(HH:mm:ss)
%r 12小時制,時間形式(hh:mm:ss AM 或 PM)
%p  AM上午或PM下午 
周  %W 一週中每一天的名稱,週日到週六(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)
%a 一週中每一天的名稱的縮寫,週日到週六(Sun,Mon,Tue,Wed,Thu,Fri,Sat) 
%w  以數字形式標識周(0=Sunday,1=Monday, ...,6=Saturday) 
%U 數字表示週數,星期天爲週中第一天
%u 數字表示週數,星期一爲週中第一天
%d  兩位數字表示月中天數(01,02, ...,31)
%e  數字表示月中天數(1,2, ...,31)
%D 英文後綴表示月中天數(1st,2nd,3rd ...) 
%j 以三位數字表示年中天數(001,002, ...,366) 
%M  英文月名(January,February,March,April,May,June,July,August,September,October,November,December)
%b  英文縮寫月名(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)
%m  兩位數字表示月份(01,02, ...,12)
%c  數字表示月份(1,2, ...,12) 
%Y  四位數字表示的年份(2015,2016...)
%y  兩位數字表示的年份(15,16...)
文字輸出  %文字  直接輸出文字內容
相關文章
相關標籤/搜索