mysql日期 時間轉換函式

2021-06-25 07:36:36 字數 4232 閱讀 4825

mysql日期/時間轉換函式

1、時間、秒轉換函式:time_to_sec(time), sec_to_time(seconds)

select time_to_sec('01:00:05'); -- 3605

select sec_to_time(3605); -- '01:00:05'

2、日期、天數轉換函式:to_days(date), from_days(days)

select to_days('0000-00-00'); -- null

select to_days('0000-01-01'); -- 1

select to_days('2008-08-08'); -- 733627

select from_days(0); -- '0000-00-00'

select from_days(366); -- '0001-01-01'

select from_days(733627); -- '2008-08-08'

3、字串轉換為日期函式:str_to_date(str, format)

select str_to_date('08/09/2008', '%m/%d/%y'); -- 2008-08-09

select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09

select str_to_date('08.09.2008', '%m.%d.%y'); -- 2008-08-09

select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30

select str_to_date('08.09.2008 08:09:30', '%m.%d.%y %h:%i:%s'); -- 2008-08-09 08:09:30

4、日期/時間轉換為字串函式:date_format(date,format), time_format(time,format)

select date_format('2008-08-08 22:23:00', '%w %m %y'); -- friday august 2008

select date_format('2008-08-08 22:23:01', '%y%m%d%h%i%s'); -- 20080808222301

select time_format('22:23:01', '%h.%i.%s'); -- 22.23.01

5、拼湊日期、時間函式:makdedate(year,dayofyear), maketime(hour,minute,second)

select makedate(2001,31); -- '2001-01-31'

select makedate(2001,32); -- '2001-02-01'

select maketime(12,15,30); -- '12:15:30'

6、獲得國家地區時間格式函式:get_format()

mysql get_format() 語法:

get_format(date|time|datetime, 'eur'|'usa'|'jis'|'iso'|'internal'

et_format() 用法的全部示例:

select get_format(date,'usa') ; -- '%m.%d.%y'

select get_format(date,'jis') ; -- '%y-%m-%d'

select get_format(date,'iso') ; -- '%y-%m-%d'

select get_format(date,'eur') ; -- '%d.%m.%y'

select get_format(date,'internal') ; -- '%y%m%d'

select get_format(datetime,'usa') ; -- '%y-%m-%d %h.%i.%s'

select get_format(datetime,'jis') ; -- '%y-%m-%d %h:%i:%s'

select get_format(datetime,'iso') ; -- '%y-%m-%d %h:%i:%s'

select get_format(datetime,'eur') ; -- '%y-%m-%d %h.%i.%s'

select get_format(datetime,'internal') ; -- '%y%m%d%h%i%s'

select get_format(time,'usa') ; -- '%h:%i:%s %p'

select get_format(time,'jis') ; -- '%h:%i:%s'

select get_format(time,'iso') ; -- '%h:%i:%s'

select get_format(time,'eur') ; -- '%h.%i.%s'

select get_format(time,'internal') ; -- '%h%i%s'

附:日期轉換修飾符。

%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), 這裡星期一是星期的第一天

%% 乙個文字「%」。%a - 星期幾的簡寫

%a - 星期幾的全寫

%b - 月份的簡寫

%b - 月份的全寫

%c - 日期時間06/12/05 11:15:10

%c - 世紀時間

%d - 乙個月的第幾號(從 01 到 31)

%d - 同 %m/%d/%y

%e - 乙個月的第幾號,號為單數則前面加一空格 (從 1 到 31)

%g - 世紀

%g - 世紀 [0000,9999]

%h - 同%b

%h - 24小時形式的小時(從00到23)

%i - 12小時形式的小時(從01到 12)

%j - 一年中的第幾天(從 001 到 366)

%k - 24小時形式的小時,單數字前面加空格. (從 0 到 23)

%l - 12小時形式的小時,單數字前面加空格.(range 1 to 12)

%m - 月份 (range 01 to 12)

%m - 分

%n - 換行符

%p - 顯示早上還是下午`am' 或 `pm'

%r - a.m. 或 p.m.形式的時間

%r - 24小時形式的時間

%s - 秒

%t - tab符號

%t - 同%h:%m:%s

%u - 用 [1,7],表示星期幾

%u - 計算是該年的第幾個星期,從該年的第乙個星期天開始計算

%v - 計算是該年的第幾個星期, 從 01 到 53, 第乙個星期必須至少有4天在這一年, 星期天作為這個星期的第一天

%w - 用數字的形式表示是星期的第幾天, 星期天 為 0

%w - 用數字的形式是該年的第幾個星期,從該年的第乙個星期一開始計算

%x - 顯示日期:月/日/年

%y - 不包括世紀的年份

%y - 包括世紀的年份

%z - 時區

%% - 輸出%

MySQL 日期函式 轉換時間戳

from unixtime unixtime,format 用途 將數字型的unix 時間日期值轉為de日期值 引數說明 unixtime bigint型別,秒數,unix格式的日期時間值,若輸入為string,double型別會隱式轉換為bigint後參與運算。根據format格式化。如果form...

轉換日期時間函式

function convertdate sdate 轉換時間格式 on error resume next s date right year sdate 2 if len month sdate 1 then s date s date 0 month sdate else s date s d...

Mysql日期函式 日期時間格式轉換函式詳解

在php 開發中,mysql資料庫設計中日期時間字段必不可少,由於mysql日期函式輸出的日期格式與php日期函式之間的日期格式相容性不夠,這就需要根據 實際情況使用mysql或php日期轉換函式進行日期格式的轉換。從開發便捷的角度來說,涉及到大量日期計算時使用unix時間戳格式進行日期計算或儲存是...