【mysql】時間日期

#時間轉字符串

select date_format(now(), '%Y-%m-%d');  
#結果:2017-02-27

#時間轉時間戳
select unix_timestamp(now());
#結果:1488160428

#字符串轉時間
select str_to_date('2017-02-27', '%Y-%m-%d %H');  
#結果:2017-02-27 00:00:00

#字符串轉時間戳
select unix_timestamp('2017-02-27');  
#結果:1488124800

#時間戳轉時間
select from_unixtime(1488160428);  
#結果:2017-02-27 09:53:48

#時間戳轉字符串
select from_unixtime(1488160428,'%Y-%m-%d %T');  
#結果:2017-02-27 09:53:48

------------------------------------------------------------
MySQL日期格式化(format)取值範圍。

值    含義
秒    %S、%s    兩位數字形式的秒( 00,01, ..., 59)
分    %I、%i    兩位數字形式的分( 00,01, ..., 59)
小時     %H    24小時制,兩位數形式小時(00,01, ...,23)
%h    12小時制,兩位數形式小時(00,01, ...,12)
%k    24小時制,數形式小時(0,1, ...,23)
%l    12小時制,數形式小時(0,1, ...,12)
%T    24小時制,時間形式(HH:mm:ss)
%r     12小時制,時間形式(hh:mm:ss AM 或 PM)
%p     AM上午或PM下午
  周      %W    一週中每一天的名稱(Sunday,Monday, ...,Saturday)
 %a    一週中每一天名稱的縮寫(Sun,Mon, ...,Sat)
%w     以數字形式標識周(0=Sunday,1=Monday, ...,6=Saturday)
%U    數字表示週數,星期天爲週中第一天
%u    數字表示週數,星期一爲週中第一天
天    %d     兩位數字表示月中天數(01,02, ...,31)
%e      數字表示月中天數(1,2, ...,31)
 %D    英文後綴表示月中天數(1st,2nd,3rd ...)
 %j    以三位數字表示年中天數(001,002, ...,366)
月    %M     英文月名(January,February, ...,December)
%b     英文縮寫月名(Jan,Feb, ...,Dec)
%m     兩位數字表示月份(01,02, ...,12)
%c     數字表示月份(1,2, ...,12)
年    %Y     四位數字表示的年份(2015,2016...)
%y      兩位數字表示的年份(15,16...)
文字輸出     %文字     直接輸出文字內容

 

1、當前日期
select DATE_SUB(curdate(),INTERVAL 0 DAY) ;
2、明天日期
select DATE_SUB(curdate(),INTERVAL -1 DAY) ;
3、昨天日期
select DATE_SUB(curdate(),INTERVAL 1 DAY) ;
4、前一個小時時間
select date_sub(now(), interval 1 hour);
5、後一個小時時間
select date_sub(now(), interval -1 hour);
6、前30分鐘時間
select date_add(now(),interval -30 minute)
7、後30分鐘時間
select date_add(now(),interval 30 minute)
-----------------------------------------------------------------
1、查詢當天的數據
select * from 表名 where TO_DAYS(時間字段)=TO_DAYS(NOW());
2、查詢當週的數據
select * from 表名 where YEARWEEK(DATE_FORMAT(時間字段,'%Y-%m-%d'))=YEARWEEK(NOW());
3、查詢當月的數據
select * from 表名 where DATE_FORMAT(時間字段,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m');
4、查詢昨天的數據
select * from 表名 where TO_DAYS(NOW())-TO_DAYS(時間字段)=1;
5、查詢最近7天的數據
select * from 表名 where DATE_SUB(CURDATE(),INTERVAL 7 DAY)<=DATE(時間字段);
6、查詢當年的數據
select * from 表名 where YEAR(時間字段) =YEAR(NOW());
7、查詢上週的數據
select * from 表名 whereYEARWEEK(DATE_FORMAT(時間字段,'%Y-%m-%d'))=YEARWEEK(NOW())-1;
8、查詢上月的數據
select *from 表名
where PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'),DATE_FORMAT(時間字段,'%Y%m'

發佈了37 篇原創文章 · 獲贊 28 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章