MySQL日期和时间类型

MySQL中有许多日期和时间类型,包括日期类型、时间类型、日期时间类型、时间戳类型等等。常用的日期类型有DATE、YEAR、TIME;常用的日期时间类型有DATETIME和TIMESTAMP

   1, NOW():返回当前日期和时间。

  select NOW()//获取当前日期时间,年月日-时分秒

    2,CURDATE():返回当前日期。

    select CURDATE()//获取日期,年--

  3, CURTIME():返回当前时间。

    select CURTIME()//返回当前的时间,时:分:秒

    4,DATE():提取日期值。

    select DATE('2023-4-4')//获取日期,第4日

    5,TIME():提取时间值。

    select time('23')//获取秒数

    6,YEAR():提取年份。

    select YEAR('2024-3-3')//获取日期年份,2024年

    7,MONTH():提取月份。

    select MONTH('2024-3-3')//获取日期月份,3月

   8, DAY():提取日期中的天数。

    select DAY('2024-3-3')//获取日期天数,3天

     9, HOUR():提取小时数。

    HOUR(NOW());//提取当前时间的小时

    11,MINUTE():提取分钟数。

    SELECT MINUTE(NOW());//提取当前时间的分钟

   12, SECOND():提取秒数。

   SELECT SECOND(NOW());//提取当前时间的秒数

    13,DATE_FORMAT():将日期格式化为指定的格式。

        //%Y表示年份,%m表示月份,%d表示日期
        select DATE_FORMAT('2022-1-1','%y-%m-%d')://22-01-01
        select DATE_FORMAT('2022-1-1','%y年-%m月-%d日')//22年-01月-01日
         
        //%H表示小时,%i表示分钟,%s表示秒钟
        SELECT TIME_FORMAT('21:36:28', '%H:%i:%s');//21:36:28
         
        //日期时间格式化为“YYYY-MM-DD HH:MM:SS”格式
        SELECT DATE_FORMAT('2022-03-24 21:36:28', '%Y-%m-%d %H:%i:%s')//2022-03-24 21:36:28


   14, DATE_ADD():在日期上添加一个指定的时间间隔。

  -- 语法:DATE_ADD(date,INTERVAL expr type)
        -- date日期表达式,expr 参数是添加的时间间隔,type 参数
        select date_add('2023-03-23',INTERVAL 7 DAY);//日期向后推7天
         
        select date_add(now(),INTERVAL -7 DAY);//当前日期向前推7天
         
        SELECT date_add(CURRENT_DATE(),INTERVAL 10 YEAR)//当前年份向后推10年,末尾的时间单位可以变换

   15, DATE_SUB():从日期中减去一个指定的时间间隔。

   //MySQL的DATE_SUB()函数用于从指定的日期中减去一个时间间隔。具体而言,

它可以从一个日期或时间减去指定的天数、小时、分钟、秒等。它的语法为
        DATE_SUB(date, INTERVAL expr unit);
        //其中,date表示日期或时间,expr表示减去的时间间隔,unit表示时间间隔的单位,可以是DAY、HOUR、MINUTE、SECOND等
         
        SELECT DATE_SUB(NOW(), INTERVAL 10 DAY);//从当前时间中减去10天
         
        SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);//从指定的日期中减去1小时
         
        //除了以上两个例子,还可以根据需要使用不同的时间间隔单位和时间对象
        来实现各种日期计算的需求。需要注意的是,如果要将一个日期加上一个时间间隔
        可以使用DATE_ADD()函数


   16, DATEDIFF():计算两个日期之间的天数差异。

    //两个日期参数的位置可以交换,因为结果取绝对值
        SELECT DATEDIFF(NOW(), '2022-07-01')//DATEDIFF函数可以计算两个日期之间的天数差异

    17.UNIX_TIMESTAMP():返回一个时间戳
   

  //时间戳是指格林威治时间1970年01月01日00时00分00秒
        //(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
        select UNIX_TIMESTAMP()//返回一个unix时间戳


    18.FROM_UNIXTIME()时间戳转换日期

    \\时间戳转换日期
        SELECT FROM_UNIXTIME(1612165200) AS date
         
        SELECT UNIX_TIMESTAMP(NOW()) AS timestamp;\\获取当前时间的时间戳



 好啦,大致内容就更新到这里,谢谢观看
伊利小课堂到此结束,下次再见~

posted on 2023-11-13 16:09  伊利同学  阅读(35)  评论(0编辑  收藏  举报