MySQL函式 日期時間函式

2021-08-16 03:41:53 字數 3939 閱讀 5870

mysql的日期和時間函式主要用於處理日期時間。

函式 說明

1、curdate(),current_date() 返回當前日期(年月日)

select curdate() -- 2018-03-05

2、curtime(),current_time() 返回當前時間(時分秒)

select curtime() -- 15:18:26

3、now(),current_timestamp(),localtime(),sysdate(),localtimestamp() 返回當前日期和時間

select now() -- 2018-03-05 15:19:23

4、unix_timestamp() 以unix時間戳的形式返回當前時間

select unix_timestamp() -- 1520234429

5、unix_timestamp(d) 將時間d以unix時間戳的形式返回

select unix_timestamp('2011-11-11 11:11:11') -- 1320981071

6、from_unixtime(d) 將unix時間戳的時間轉換為普通格式的時間

select from_unixtime(1320981071) -- 2011-11-11 11:11:11

7、utc_date() 返回utc日期

select utc_date() -- 2018-03-05

8、utc_time() 返回utc時間

select utc_time() -- 07:22:57(慢了8小時)

9、month(d) 返回日期d中的月份值,1->12

select month('2011-11-11 11:11:11') -- 11

10、monthname(d) 返回日期當中的月份名稱,如janyary

select monthname('2011-11-11 11:11:11') -- november

11、dayname(d) 返回日期d是星期幾,如monday,tuesday

select dayname('2018-03-05 11:11:11') -- monday

12、dayofweek(d) 日期d今天是星期幾,1星期日,2星期一

select dayofweek('2018-03-05 11:11:11') -- 2

13、weekday(d) 日期d今天是星期幾,0表示星期一,1表示星期二

14、week(d),weekofyear(d) 計算日期d是本年的第幾個星期,範圍是0->53

select week('2011-11-11 11:11:11') -- 45

15、dayofyear(d) 計算日期d是本年的第幾天

select dayofyear('2011-11-11 11:11:11') -- 315

16、dayofmonth(d) 計算日期d是本月的第幾天

select dayofmonth('2011-11-11 11:11:11') -- 11

17、quarter(d) 返回日期d是第幾季節,返回1->4

select quarter('2011-11-11 11:11:11') -- 4

18、hour(t) 返回t中的小時值

select hour('1:2:3') -- 1

19、minute(t) 返回t中的分鐘值

select minute('1:2:3') -- 2

20、second(t) 返回t中的秒鐘值

select second('1:2:3') --3

21、extract(type from d) 從日期d中獲取指定的值,type指定返回的值

select extract(minute from '2011-11-11 11:11:11') -- 11

select extract(second from '2011-11-11 11:12:13') -- 13

type可取值為:

microsecond

second

minute

hour

dayweek

month

quarter

year

second_microsecond

minute_microsecond

minute_second

hour_microsecond

hour_second

hour_minute

day_microsecond

day_second

day_minute

day_hour

year_month

22、time_to_sec(t) 將時間t轉換為秒

select time_to_sec('1:12:00') -- 4320

23、sec_to_time(s) 將以秒為單位的時間s轉換為時分秒的格式

select sec_to_time(4320) -- 01:12:00

24、to_days(d) 計算日期d距離2023年1月1日的天數

select to_days('0001-01-01 01:01:01') -- 366

25、from_days(n) 計算從2023年1月1日開始n天後的日期

select from_days(1111) -- 0003-01-16

26、datediff(d1,d2) 計算日期d1->d2之間相隔的天數

select datediff('2001-01-01','2001-02-02') -- -32

27、adddate(d,n) 計算其實日期d加上n天的日期

28、adddate(d,interval expr type) 計算起始日期d加上乙個時間段後的日期

select adddate('2011-11-11 11:11:11',1) -- 2011-11-12 11:11:11 (預設是天)

select adddate('2011-11-11 11:11:11', interval 5 minute) -- 2011-11-11 11:16:11 (type的取值與上面那個列出來的函式類似)

29、date_add(d,interval expr type) 同上

30、subdate(d,n) 日期d減去n天後的日期

select subdate('2011-11-11 11:11:11', 1) -- 2011-11-10 11:11:11 (預設是天)

31、subdate(d,interval expr type) 日期d減去乙個時間段後的日期

select subdate('2011-11-11 11:11:11', interval 5 minute) -- 2011-11-11 11:06:11 (type的取值與上面那個列出來的函式類似)

32、addtime(t,n) 時間t加上n秒的時間

select addtime('2011-11-11 11:11:11', 5) -- 2011-11-11 11:11:16 (秒)

33、subtime(t,n) 時間t減去n秒的時間 

select subtime('2011-11-11 11:11:11', 5) -- 2011-11-11 11:11:06 (秒)

34、date_format(d,f) 按表示式f的要求顯示日期d

select date_format('2011-11-11 11:11:11','%y-%m-%d %r') -- 2011-11-11 11:11:11 am

35、time_format(t,f) 按表示式f的要求顯示時間t

select time_format('11:11:11','%r') --11:11:11 am

36、get_format(type,s) 獲得國家地區時間格式函式

select get_format(date,'usa') -- %m.%d.%y (注意返回的就是這個奇怪的字串(format字串))

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

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

MySQL函式 日期函式 DATADIFF

mysql5.7官網 datediff expr1,expr2 datediff expr1,expr2 返回 expr1 expr2從乙個日期到另乙個日期之間的天數。expr1 和expr2是日期或日期和時間表示式。在計算中僅使用引數的日期部分。select datediff 2020 08 02...

DAX函式 日期和時間函式

日期和時間函式 calendar 返回具有單列 date 的表,該列包含一組連續日期。日期範圍從指定的開始日期到指定的結束日期 這兩個日期包含在內 calendar date 2005,1,1 date 2015,12,31 公式返回乙個表,其中的日期介於 2005 年 1 月 1 日和 2015 ...