MySQL的时间函数_MySQL
select curdate()+0;显示结果为:20140214
select curdate()+1;显示结果为:20140215
CURTIME()或者CURRENT_TIME() 返回当前时间,包括时分秒
NOW() 返回当前时间,包含日期和时间
UTC_DATE函数 返回UTC时间,北京时间=UTC时间+8小时
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date) 若无参数调用,则返回一个Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) 作为无符号整数。若用date 来调用UNIX_TIMESTAMP(),它会将参数值以'1970-01-01 00:00:00' GMT后的秒数的形式返回。date 可以是一个DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。 [sql] view plaincopy
- mysql>%20SELECT%20UNIX_TIMESTAMP();
- ->%20882226357
- mysql>%20SELECT%20UNIX_TIMESTAMP('1997-10-04%2022:23:00');
- ->%20875996580
FROM_UNIXTIME()%20返回unix时间戳的日期值。mysql>SELECT%20FROM_UNIXTIME(875996580);%20%20%20%20%20->'1997-10-04%2022:23:00'
TO_DAYS(date)%20给定一个日期date,%20返回一个天数%20(从年份0开始的天数%20)。%20[sql]%20view%20plaincopy- mysql> SELECT TO_DAYS(950501);
- -> 728779
- mysql> SELECT TO_DAYS('1997-10-07');
-> 729669
DATEDIFF函数 datediff(date1,date2)用来计算两个日期之间相差的天数。
DATE_ADD函数或者ADDDATE函数 date_add(date,interval expr type):返回与所给日期date相差interval时间段的日期。
DATE_SUB函数或者SUBDATE函数 date_sub(date,interval expr type):返回比所给日期早expr type的日期。
MySQL 允许任何expr 格式中的标点分隔符。表中所显示的是建议的 分隔符。若 date 参数是一个 DATE 值,而你的计算只会包括 YEAR、MONTH和DAY部分(即, 没有时间部分), 其结果是一个DATE 值。否则,结果将是一个 DATETIME值。 若位于另一端的表达式是一个日期或日期时间值 , 则INTERVAL expr type只允许在 + 操作符的两端。对于 –操作符, INTERVAL expr type 只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。 (见下面的例子)。
EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
DATE_FORMAT(date,format)
根据format字符串格式化date值 (在format字符串中可用标志符:
%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), 这里星期一是星期的第一天
%% 字符% )
LAST_DAY() 获取一个日期或者日期时间值,返回该月的最后一天。