Mysql中的日期函数

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)

  1. 如果没有参数调用,返回一个Unix时间戳记(从'1970-01-0100:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一个date参数被调用,它返回从'1970-01-0100:00:00'GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。

  2. 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)

  1. 以'YYYY-MM-DDHH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串
    还是或数字上下文中被使用。
    mysql> selectFROM_UNIXTIME(875996580);
    ->'1997-10-04 22:23:00'
    mysql> selectFROM_UNIXTIME(875996580) +0;
    -> 19971004222300
  2. 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'



你可能感兴趣的:(MySQL)