mysql相关时间函数

来源:互联网 发布:js转化为字符串 编辑:程序博客网 时间:2024/05/18 02:29

区别:

FROM_UNIXTIME(time,'%Y-%m-%d'):返回2014-05-19,如果不加'%Y-%m-%d',则默认返回2014-05-19 15:03:06。 其中time是10位时间戳。

DATE_FORMAT(date,'%Y-%m-%d'):返回:2014-05-19,如果不加'%Y-%m-%d',则默认返回2014-05-19 15:03:06。 其中date是2014-05-19这样的日期格式。

NOW():返回2014-05-19 18:16:28  参数为空。

 

    1.存储日期时间用now();

    2.存储日期用curdate()/current_date;

    3.存储时间用time();

    4.获取年份用year();

    5.获取月份用month();

    6.获取月份中的日期用day()或者dayofmonth();

    7.获取昨天就用date_sub(curdate(),interval 1 day)/date_sub(current_date,interval 1 day);

    或者curdate()-interval 1 day; 【-表减去1天,如果是+表示加上1天】

    或者to_days(curdate())-to_days(字段名)=1

    【注:】

    a.有to_days函数,没有to_months()和to_years()函数。

    b.to_days()函数是把日期转化为距离公元0年的天数。

    8.获取前一个月就用date_sub(curdate(),interval 1 month)/date_sub(current_date(),interval 1 month);

    9.获取去年就用date_sub(curdate(),interval 1 year)/date_sub(currentdate(),interval 1 year);

    10.获取小时用hour();

    11.获取分用minute();

    12.获取秒用second();

    13.创建时间mktime(0,0,0,“$_POST[]”,“$_POST[]”,“$_POST[]”);

    14.获取两天前(包括昨天)的sql语句是:

    select * from tablename where 【字段名】between date_sub(curdate(),interval 2 day) and curdate();

    或者:

    select * from tablename where to_days(curdate())-to_days(字段名)<=2;

    15.DAYOFWEEK(date)

    返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。

    16.WEEKDAY(date)

    返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

    17.DAYOFYEAR(date)

    返回date在一年中的日数, 在1到366范围内。

    mysql> select DAYOFYEAR(‘1998-02-03’);

    -> 34

    18.DAYNAME(date)

    返回date的星期名字。

    mysql> select DAYNAME(“1998-02-05”);

    -> 'Thursday'

    19.QUARTER(date)

    返回date一年中的季度,范围1到4.  (1-3月为1,4-6月为2,7-9月为3,10-12月为4)


0 0