1) CURDATE() 和 CURRENT_DATE:两者都返回当前日期 select CURDATE(); select CURRENT_DATE;
2) DATE_ADD(date,INTERVAL expr unit): 返回与date 加 相差多少unit(单位);select date_add( now(), interval 3 day) 当前时间往后加3天;
ADDDATE(date,INTERVAL expr unit) 与上述同义
3) DAYOFWEEK(date): 返回日期date是当前星期的第几天 (星期天=1, 星期一=2.。。。) select DAYOFWEEK(CURRENT_DATE);
4)WEEKDAY(date); 返回日期date的星期索引(索引默认从0开始) 星期一=0, 星期二=1
5)DATE_SUB(date,INTERVAL expr unit): 返回当前时间与date往前多少unit(单位) select DATE_SUB(now(), interval 3 day); 返回now()往前3天的时间
SUBDATE(date,INTERVAL expr unit) 与上述同义
6)DATE_FORMAT(date,format) 格式化时间date为format形式
7)UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)
-
如果没有参数调用,返回一个Unix时间戳记(从'1970-01-0100:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一个date参数被调用,它返回从'1970-01-0100:00:00'GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。
- mysql> selectUNIX_TIMESTAMP();
->882226357
mysql> selectUNIX_TIMESTAMP('1997-10-0422:23:00');
-> 875996580当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。
8) FROM_UNIXTIME(unix_timestamp)
- 以'YYYY-MM-DDHH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串
还是或数字上下文中被使用。
mysql> selectFROM_UNIXTIME(875996580);
->'1997-10-04 22:23:00'
mysql> selectFROM_UNIXTIME(875996580) +0;
-> 19971004222300 -
FROM_UNIXTIME(unix_timestamp,format)
返回表示Unix时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。
mysql> selectFROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s%x');
-> '1997 23rd December03:43:30 x'