mysql日期格式轉換函數有:1、【SEC_TO_TIME(seconds)】把秒數轉化成時間;2、【TIME_TO_SEC(time)】把時間轉化成秒數;3、【ADDTIME(time,times)】把times加到time上。
【相關學習推薦:mysql教程(視頻)】
mysql日期格式轉換函數有:
1、獲取系統當前日期
SELECT?CURdate()? SELECT?CURRENT_DATE()
->?2016-01-16 ->?2016-01-16
2、獲取系統當前時間
SELECT?CURTIME()? SELECT?CURRENT_TIME()
->?17:44:22 ->?17:44:22
3、NOW(),SYSDATE(),CURRENT_timestamp(),LOCALTIME():獲取系統當前日期和時間
SELECT?NOW()? SELECT?SYSDATE()? SELECT?CURRENT_TIMESTAMP()? SELECT?CURRENT_TIMESTAMP? SELECT?LOCALTIME()? SELECT?LOCALTIME
->?2016-01-16?17:44:41 ->?2016-01-16?17:44:41 ->?2016-01-16?17:44:41 ->?2016-01-16?17:44:41 ->?2016-01-16?17:44:41 ->?2016-01-16?17:44:41
4、unix_TIMESTAMP(date):獲取時間戳
SELECT?UNIX_TIMESTAMP()? SELECT?UNIX_TIMESTAMP(‘2016-01-16')? SELECT?UNIX_TIMESTAMP(‘2016-01-16?23:59:59')
->?1452937627 ->?1452873600 ->?1452959999
5、FROM_UNIXTIME(unix_timestamp,format):把時間戳轉化成日期時間
SELECT?FROM_UNIXTIME(1452959999)? SELECT?FROM_UNIXTIME(1452959999,'%Y-%m-%d?%H:%i:%s')
->?2016-01-16?23:59:59 ->?2016-01-16?23:59:59
6、SEC_TO_TIME(seconds):把秒數轉化成時間
SELECT?SEC_TO_TIME(2378)
->?00:39:38
7、TIME_TO_SEC(time):把時間轉化成秒數
SELECT?TIME_TO_SEC(‘22:23:00')
->?2378
8、ADDTIME(time,times):把times加到time上
SELECT?ADDTIME(“2015-12-31?23:59:59”,'01:01:01')
->?2016-01-01?01:01:00
9、CONVERT_TZ(date,from_tz ,to_tz ):轉換時區
SELECT?CONVERT_TZ(‘2004-01-01?12:00:00','+00:00','+10:00')
->?2004-01-01?22:00:00
10、STR_TO_DATE(date,format ):將字符串轉成format格式的日期時間
SELECT?STR_TO_DATE(‘2015-01-01',?‘%Y-%m-%d')
->?2015-01-01
11、LAST_DAY(date ):獲取date當月最后一天的日期
SELECT?LAST_DAY(SYSDATE())? SELECT?LAST_DAY(‘2015-02-02')? SELECT?LAST_DAY(‘2015-02-02?00:22:33')
->?2016-01-31 ->?2015-02-28 ->?2015-02-28
12、MAKEDATE(year ,dayofyear ):根據參數(年份,第多少天)獲取日期
SELECT?MAKEDATE(2015?,32)
->?2015-02-01
13、 MAKETIME(hour ,minute ,second ):根據參數(時,分,秒)獲取時間
SELECT?MAKETIME(12?,23?,34?)
->?12:23:34
14、YEARWEEK(date):獲取日期的年和周
SELECT?YEARWEEK(SYSDATE())? SELECT?YEARWEEK(‘2015-01-10')? SELECT?YEARWEEK(‘2015-01-10',1)
->?201602 ->?201501 ->?201502
15、WEEKOFYEAR(date):獲取當日是當年的第幾周
SELECT?WEEKOFYEAR(SYSDATE())? SELECT?WEEKOFYEAR(‘2015-01-10')
->?2 ->?2
mysql中常用的幾種時間格式轉換函數整理如下
1,from_unixtime(timestamp, format):
timestamp為int型時間,如14290450779;format為轉換的格式,包含格式如下:
-
%M 月名字(January……December)?
-
%W 星期名字(Sunday……Saturday)?
-
%D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)?
-
%Y 年, 數字, 4 位?
-
%y 年, 數字, 2 位?
-
%a 縮寫的星期名字(Sun……Sat)?
-
%d 月份中的天數, 數字(00……31)?
-
%e 月份中的天數, 數字(0……31)?
-
%m 月, 數字(01……12)?
-
%c 月, 數字(1……12)?
-
%b 縮寫的月份名字(Jan……Dec)?
-
%j 一年中的天數(001……366)?
-
%H 小時(00……23)?
-
%k 小時(0……23)?
-
%h 小時(01……12)?
-
%I 小時(01……12)?
-
%l 小時(1……12)?
-
%i 分鐘, 數字(00……59)?
-
%r 時間,12 小時(hh:mm:ss [AP]M)?
-
%T 時間,24 小時(hh:mm:ss)?
-
%S 秒(00……59)?
-
%s 秒(00……59)?
-
%p AM或PM?
-
%w 一個星期中的天數(0=Sunday ……6=Saturday )?
-
%U 星期(0……52), 這里星期天是星期的第一天?
-
%u 星期(0……52), 這里星期一是星期的第一?
2,unix_timestamp(date):
作用與from_unixtime()剛好相反,前者是把unix時間戳轉換為可讀的時間,而unix_timestamp()是把可讀的時間轉換為unix時間戳,這在對datetime存儲的時間進行排序時會用到。如unix_timestamp(‘2009-08-06 10:10:40’),得到1249524739。
如果unix_timestamp()不傳參數,則調用now()函數自動取當前時間。
3,date_format(date, format):
date_format()是將date或datetime類型值轉換為任意的時間格式。比如常見的應用場景,某表有一個字段是更新時間,存儲的是datetime類型,但前臺展示時只需要顯示年月日(xxxx-xx-xx),這個時候就可以用date_format(date,’%Y-%m-%d ‘)處理,而不需要在結果集中用程序循環處理。
想了解更多編程學習,敬請關注mysql教程欄目!