curdate()或者current_date()
返回当前日期,按照“yyyy-mm-dd”或者“yyyymmdd“格式显示。只包含年月日
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格式的数字。
mysql> select unix_timestamp();
-> 882226357
mysql> select unix_timestamp('1997-10-04 22:23:00');
-> 875996580
from_unixtime()
返回unix时间戳的日期值。
mysql>select from_unixtime(875996580);
->'1997-10-04 22:23:00'
to_days(date)
给定一个日期date, 返回一个天数 (从年份0开始的天数 )。
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时间段的日期。
mysql>select date_add(curdate(), interval 1 day)
>2014-02-15
mysql>select date_add(curdate(), interval -1 day)
>2014-02-13
date_sub函数或者subdate函数
date_sub(date,interval expr type):返回比所给日期早expr type的日期。
mysql>select date_sub(curdate(), interval 1 day)
>2014-02-13
mysql>select date_add(curdate(), interval -1 day)
>2014-02-15
mysql 允许任何expr 格式中的标点分隔符。表中所显示的是建议的 分隔符。若 date 参数是一个 date 值,而你的计算只会包括 year、month和day部分(即, 没有时间部分), 其结果是一个date 值。否则,,结果将是一个 datetime值。
若位于另一端的表达式是一个日期或日期时间值 , 则interval expr type只允许在 + 操作符的两端。对于 –操作符, interval expr type 只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。 (见下面的例子)。
mysql> select '1997-12-31 23:59:59' + interval 1 second;
-> '1998-01-01 00:00:00'
mysql> select interval 1 day + '1997-12-31';
-> '1998-01-01'
mysql> select '1998-01-01' - interval 1 second;
-> '1997-12-31 23:59:59'
extract() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
extract(unit from date)date 参数是合法的日期表达式。unit 参数可以是下列的值:
unit 值
microsecond
second
minute
hour
day
week
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
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), 这里星期一是星期的第一天
%% 字符% )
mysql> select date_format('1997-10-04 22:23:00','%w %m %y');
-> 'saturday october 1997'
mysql> select date_format('1997-10-04 22:23:00','%h:%i:%s');
-> '22:23:00'
mysql> select date_format('1997-10-04 22:23:00','%d %y %a %d %m %b %j');
-> '4th 97 sat 04 10 oct 277'
mysql> select date_format('1997-10-04 22:23:00','%h %k %i %r %t %s %w');
-> '22 22 10 10:23:00 pm 22:23:00 00 6'
last_day()
获取一个日期或者日期时间值,返回该月的最后一天。
>select last_day('2013-02-14');
>'2013-02-28'