mysql時間函式

2021-04-15 23:01:22 字數 3056 閱讀 9321

這些函式都是mysql自帶的,可以直接使用在php寫的mysql查詢語句中哦

1-curdate()或current_date()和curtime()或current_time()

這兩個函式是比較常用到的,顧名思義,第乙個返回當前日期,第二個返回當前時間

可以在mysql客戶端或者php語句裡寫"select curdate(),curtime()"檢視相關資訊.

還有乙個很重要的函式now(),返回當前日期和時間其實就是上面兩個函式返回結果的合併。

2-date_add和date_sub(date,interval int keyword)

這兩個函式很重要,返回日期date加上或減去格式化的時間interval int,像今天有個朋友提到如何查詢一周之內的資料就要用到這個函式。

下面講一下interval int keyword

先舉個例子

php **:

select 

* from tblname where time

>

date_sub

(now

(),interval 1 month

)

這個語句執行後返回表中所有time字段值從當前日期起乙個月之內的資料

php **:

select 

* from tblname where time

>

date_sub

(now

(),interval 

"1-1" 

year_month

)

這個語句返回距今一年零乙個月之內的資料

如果用到day_second引數,前面的int就必須如 "1 12:23:34"這樣的格式

下面是keyword引數列表

php **:

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 

其中quarter和week是mysql5之後才有的。

extract(keyword from date)-這個函式從提供的日期中摘取出相關資訊

php **:

select extract

(day from now

()) 

就返回當前日期的day,今天是16日就返回數字16。

下面介紹幾個日期時間函式

dayofweek(now())返回當前日期是這週的第一天,週日是第一天,

dayname(now())返回星期的名字

dayofmonth(now()) 返回今天是幾號

dayofyear(now()) 返回今天是今年的第多少天

year(now()) week(now()) month(now()) hour(now()) minute(now()) quarter(now()) second(now())

上面都不用說了,分別返回年,周,月,小時,分鐘,秒

為什麼沒有日期呢?因為dayofmonth(now())就是啊!

那麼對於時間戳怎麼處理呢?有兩個函式

unix_timestamp(now())返回當前時間的unix時間戳

from_unixtime(int) 根據unix時間戳返回預設格式的時間日期

time_to_sec和sec_to_time分別在數字秒數和時間秒數之間轉化

比如time_to_sec("1:00:00");返回一小時的秒數

還有兩個不太用到的函式

to_days(date) 返回從0年到date的總天數

from_days(x) 進行相反的操作

還有2個函式

period_add(date,month)這個函式需要的date格式是這樣的200610,

period_add(200610,-2)返回200608

而另乙個函式

period_diff(200608,200610)返回也是-2

下面是時間日期函式最後的乙個重點:格式化

學過c語言的人都知道printf裡面的引數%s,%d等等吧。

php **:

%

a -  

縮寫的星期名%b 

-  縮寫的月份名%d 

- 月份中的天數%h 

- 小時

[帶前導零]%

i -  分鐘[

帶前導零]%

j - 

一年中的天數%m 

- 月份

[帶前導零]%

m - 月份[

完整]%p 

- [am或pm]%

r - 時間[

12小時格式]%

s - 秒[

帶前導零]%

t - 時間[

24小時格式]%

w - 

一周中的天數[0

-6]-這裡想不通為什麼dayofweek返回的是1-7

%w - 星期名[完整

]%y - 年份[

4位數] 

上面的給個例子

php **:

select date_format

(now

(),"%y-%m-%d"

)上面這句話返回2006-10

-16 

好了,關於mysql函式的介紹就到這裡,希望對大家有用。詳細內容見mysql手冊

mysql時間函式

unix timestamp unix timestamp date 若無引數呼叫,則返回乙個unix timestamp 1970 01 01 00 00 00 gmt 之後的秒數 作為無符號整數。若用date 來呼叫unix timestamp 它會將引數值以 1970 01 01 00 00 ...

MySQL時間函式

dayofweek date 返回日期date是星期幾 1 星期天,2 星期一,7 星期六,odbc標準 mysql select dayofweek 1998 02 03 3 weekday date 返回日期date是星期幾 0 星期一,1 星期二,6 星期天 mysql select week...

mysql時間函式

1.curdate current date 返回當前日期 2.current timestamp now sysdate localtime 返回當前日期和時間 3.unix timestamp 返回unix時間戳 4.from unixtime 把乙個時間戳轉換成正常時間格式 5.date ad...