1. 当前日期
    2. select DATE_SUB(curdate(),INTERVAL 0 DAY)
    3. 明天
    4. select DATE_SUB(curdate(),INTERVAL -1 DAY)
    5. 昨天
    6. select DATE_SUB(curdate(),INTERVAL 1 DAY)
    7. 前一个小时
    8. select date_sub(now(), interval 1 hour)
    9. 后一个小时
    10. select date_sub(now(), interval -1 hour)
    11. 30分钟
    12. select date_add(now(),interval -30 minute)
    13. 30分钟
    14. select date_add(now(),interval 30 minute)
    函数 说明
    CURDATE(),CURRENT_DATE() 返回当前日期
    SELECT CURDATE()
    ->2014-12-17
    CURTIME(),CURRENT_TIME 返回当前时间
    SELECT CURTIME()
    ->15:59:02
    NOW(),
    CURRENT_TIMESTAMP(),
    LOCALTIME(),
    SYSDATE(),
    LOCALTIMESTAMP()
    返回当前日期和时间
    SELECT NOW()
    ->2014-12-17 15:59:02
    UNIX_TIMESTAMP() 以UNIX时间戳的形式返回当前时间
    SELECT UNIX_TIMESTAMP()
    ->1418803177
    UNIX_TIMESTAMP(d) 将时间d以UNIX时间戳的形式返回
    SELECT UNIX_TIMESTAMP(‘2011-11-11 11:11:11’)
    ->1320981071
    FROM_UNIXTIME(d) 将UNIX时间戳的时间转换为普通格式的时间
    SELECT FROM_UNIXTIME(1320981071)
    ->2011-11-11 11:11:11
    UTC_DATE() 返回UTC日期
    SELECT UTC_DATE()
    ->2014-12-17
    UTC_TIME() 返回UTC时间
    SELECT UTC_TIME()
    ->08:01:45 (慢了8小时)
    MONTH(d) 返回日期d中的月份值,1->12
    SELECT MONTH(‘2011-11-11 11:11:11’)
    ->11
    MONTHNAME(d) 返回日期当中的月份名称,如Janyary
    SELECT MONTHNAME(‘2011-11-11 11:11:11’)
    ->November
    DAYNAME(d) 返回日期d是星期几,如Monday,Tuesday
    SELECT DAYNAME(‘2011-11-11 11:11:11’)
    ->Friday
    DAYOFWEEK(d) 日期d今天是星期几,1星期日,2星期一
    SELECT DAYOFWEEK(‘2011-11-11 11:11:11’)
    ->6
    WEEKDAY(d) 日期d今天是星期几,
    0表示星期一,1表示星期二
    WEEK(d),WEEKOFYEAR(d) 计算日期d是本年的第几个星期,范围是0->53
    SELECT WEEK(‘2011-11-11 11:11:11’)
    ->45
    DAYOFYEAR(d) 计算日期d是本年的第几天
    SELECT DAYOFYEAR(‘2011-11-11 11:11:11’)
    ->315
    DAYOFMONTH(d) 计算日期d是本月的第几天
    SELECT DAYOFMONTH(‘2011-11-11 11:11:11’)
    ->11
    QUARTER(d) 返回日期d是第几季节,返回1->4
    SELECT QUARTER(‘2011-11-11 11:11:11’)
    ->4
    HOUR(t) 返回t中的小时值
    SELECT HOUR(‘1:2:3’)
    ->1
    MINUTE(t) 返回t中的分钟值
    SELECT MINUTE(‘1:2:3’)
    ->2
    SECOND(t) 返回t中的秒钟值
    SELECT SECOND(‘1:2:3’)
    ->3
    EXTRACT(type FROM d) 从日期d中获取指定的值,type指定返回的值
    SELECT EXTRACT(MINUTE FROM ‘2011-11-11 11:11:11’)
    ->11
    type可取值为:
    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
    TIME_TO_SEC(t) 将时间t转换为秒
    SELECT TIME_TO_SEC(‘1:12:00’)
    ->4320
    SEC_TO_TIME(s) 将以秒为单位的时间s转换为时分秒的格式
    SELECT SEC_TO_TIME(4320)
    ->01:12:00
    TO_DAYS(d) 计算日期d距离0000年1月1日的天数
    SELECT TO_DAYS(‘0001-01-01 01:01:01’)
    ->366
    FROM_DAYS(n) 计算从0000年1月1日开始n天后的日期
    SELECT FROM_DAYS(1111)
    ->0003-01-16
    DATEDIFF(d1,d2) 计算日期d1->d2之间相隔的天数
    SELECT DATEDIFF(‘2001-01-01’,’2001-02-02’)
    ->-32
    ADDDATE(d,n) 计算其实日期d加上n天的日期
    ADDDATE(d,INTERVAL expr type) 计算起始日期d加上一个时间段后的日期
    SELECT ADDDATE(‘2011-11-11 11:11:11’,1)
    ->2011-11-12 11:11:11 (默认是天)
    SELECT ADDDATE(‘2011-11-11 11:11:11’, INTERVAL 5 MINUTE)
    ->2011-11-11 11:16:11 (TYPE的取值与上面那个列出来的函数类似)
    DATE_ADD(d,INTERVAL expr type) 同上
    SUBDATE(d,n) 日期d减去n天后的日期
    SELECT SUBDATE(‘2011-11-11 11:11:11’, 1)
    ->2011-11-10 11:11:11 (默认是天)
    SUBDATE(d,INTERVAL expr type) 日期d减去一个时间段后的日期
    SELECT SUBDATE(‘2011-11-11 11:11:11’, INTERVAL 5 MINUTE)
    ->2011-11-11 11:06:11 (TYPE的取值与上面那个列出来的函数类似)
    ADDTIME(t,n) 时间t加上n秒的时间
    SELECT ADDTIME(‘2011-11-11 11:11:11’, 5)
    ->2011-11-11 11:11:16 (秒)
    SUBTIME(t,n) 时间t减去n秒的时间
    SELECT SUBTIME(‘2011-11-11 11:11:11’, 5)
    ->2011-11-11 11:11:06 (秒)
    DATE_FORMAT(d,f) 按表达式f的要求显示日期d
    SELECT DATE_FORMAT(‘2011-11-11 11:11:11’,’%Y-%m-%d %r’)
    ->2011-11-11 11:11:11 AM
    TIME_FORMAT(t,f) 按表达式f的要求显示时间t
    SELECT TIME_FORMAT(‘11:11:11’,’%r’)
    11:11:11 AM
    GET_FORMAT(type,s) 获得国家地区时间格式函数
    select get_format(date,’usa’)
    ->%m.%d.%Y (注意返回的就是这个奇怪的字符串(format字符串))