MySQL的时间函数

CURDATE()或者CURRENT_DATE() 返回当前日期,按照ldquo;YYYY-MM-DDrdquo;或者ldquo;YYYYMMDDldquo;格式显示。只包含年月日 s

curdate()或者current_date()

返回当前日期,按照“YYYY-MM-DD”或者“YYYYMMDD“格式显示。只包含年月日

select curdate()+0;

显示结果为:20140214

select curdate()+1;

显示结果为:20140215

CURTIME()或者CURRENT_TIME()
返回当前时间,包括时分秒

NOW()
返回当前时间,包含日期和时间

UTC_DATE函数
返回UTC时间,北京时间=UTC时间+8小时

UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
若无参数调用,则返回一个Unix timestamp (‘1970-01-01 00:00:00′ GMT 之后的秒数) 作为无符号整数。若用date 来调用UNIX_TIMESTAMP(),它会将参数值以’1970-01-01 00:00:00’ GMT后的秒数的形式返回。date 可以是一个DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。

mysql> SELECT UNIX_TIMESTAMP(); 
        -> 882226357 
 
mysql> SELECT UNIX_TIMESTAMP(‘1997-10-04 22:23:00’); 
        -> 875996580 

FROM_UNIXTIME()
返回unix时间戳的日期值。

mysql>SELECT FROM_UNIXTIME(875996580);
    ->’1997-10-04 22:23:00′

TO_DAYS(date)
给定一个日期date, 返回一个天数 (从年份0开始的天数 )。

mysql> SELECT TO_DAYS(950501); 
        -> 728779 
 
mysql> SELECT TO_DAYS(‘1997-10-07’); 
        -> 729669 

DATEDIFF函数
datediff(date1,date2)用来计算两个日期之间相差的天数。

DATE_ADD函数或者ADDDATE函数
date_add(date,interval expr type):返回与所给日期date相差interval时间段的日期。

mysql>select date_add(curdate(), interval 1 day) 
    >2014-02-15 
mysql>select date_add(curdate(), interval -1 day) 
    >2014-02-13 

DATE_SUB函数或者SUBDATE函数
date_sub(date,interval expr type):返回比所给日期早expr type的日期。

mysql>select date_sub(curdate(), interval 1 day) 
    >2014-02-13 
mysql>select date_add(curdate(), interval -1 day) 
    >2014-02-15 

MySQL 允许任何expr 格式中的标点分隔符。表中所显示的是建议的 分隔符。若 date 参数是一个 DATE 值,而你的计算只会包括 YEAR、MONTH和DAY部分(即, 没有时间部分), 其结果是一个DATE 值。否则,,结果将是一个 DATETIME值。
若位于另一端的表达式是一个日期或日期时间值 , 则INTERVAL expr type只允许在 + 操作符的两端。对于 –操作符, INTERVAL expr type 只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。 (见下面的例子)。

mysql> SELECT ‘1997-12-31 23:59:59’ + INTERVAL 1 SECOND;
        -> ‘1998-01-01 00:00:00’
mysql> SELECT INTERVAL 1 DAY + ‘1997-12-31’;
        -> ‘1998-01-01’
mysql> SELECT ‘1998-01-01’ – INTERVAL 1 SECOND;
        -> ‘1997-12-31 23:59:59’

EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

EXTRACT(unit FROM date)date 参数是合法的日期表达式。unit 参数可以是下列的值:

Unit 值

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

DATE_FORMAT(date,format)
根据format字符串格式化date值
(在format字符串中可用标志符:
 %M 月名字(January……December)
 %W 星期名字(Sunday……Saturday)
 %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
 %Y 年, 数字, 4 位
 %y 年, 数字, 2 位
 %a 缩写的星期名字(Sun……Sat)
 %d 月份中的天数, 数字(00……31)
 %e 月份中的天数, 数字(0……31)
 %m 月, 数字(01……12)
 %c 月, 数字(1……12)
 %b 缩写的月份名字(Jan……Dec)
 %j 一年中的天数(001……366)
 %H 小时(00……23)
 %k 小时(0……23)
 %h 小时(01……12)
 %I 小时(01……12)
 %l 小时(1……12)
 %i 分钟, 数字(00……59)
 %r 时间,12 小时(hh:mm:ss [AP]M)
 %T 时间,24 小时(hh:mm:ss)
 %S 秒(00……59)
 %s 秒(00……59)
 %p AM或PM
 %w 一个星期中的天数(0=Sunday ……6=Saturday )
 %U 星期(0……52), 这里星期天是星期的第一天
 %u 星期(0……52), 这里星期一是星期的第一天
 %% 字符% )

mysql> select DATE_FORMAT(‘1997-10-04 22:23:00′,’%W %M %Y’);
  -> ‘Saturday October 1997’
mysql> select DATE_FORMAT(‘1997-10-04 22:23:00′,’%H:%i:%s’);
  -> ’22:23:00′
mysql> select DATE_FORMAT(‘1997-10-04 22:23:00′,’%D %y %a %d %m %b %j’);
  -> ‘4th 97 Sat 04 10 Oct 277’
mysql> select DATE_FORMAT(‘1997-10-04 22:23:00′,’%H %k %I %r %T %S %w’);
  -> ’22 22 10 10:23:00 PM 22:23:00 00 6′

LAST_DAY()
获取一个日期或者日期时间值,返回该月的最后一天。

>SELECT LAST_DAY(‘2013-02-14’);
>’2013-02-28′

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1872702.html

(0)
上一篇 2025年2月22日 09:01:46
下一篇 2025年2月22日 09:02:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论