#時間轉字符串
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'