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時間戳格式進行日期計算或儲存是...