MySQL 获取当前日期及日期格式
获取系统日期: NOW()
格式化日期: DATE_FORMAT(date, format)
注: date:时间字段
format:日期格式
返回系统日期,输出 2009-12-25 14:38:59
select now(); |
输出 09-12-25
select date_format(now(),'%y-%m-%d'); |
根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01, ..., 59) %I, %i 两位数字形式的分( 00,01, ..., 59) %H 两位数字形式的小时,24 小时(00,01, ..., 23) %h 两位数字形式的小时,12 小时(01,02, ..., 12) %k 数字形式的小时,24 小时(0,1, ..., 23) %l 数字形式的小时,12 小时(1, 2, ..., 12) %T 24 小时的时间形式(hh:mm:ss) %r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM) %p AM或PM %W 一周中每一天的名称(Sunday, Monday, ..., Saturday) %a 一周中每一天名称的缩写(Sun, Mon, ..., Sat) %d 两位数字表示月中的天数(00, 01,..., 31) %e 数字形式表示月中的天数(1, 2, ..., 31) %D 英文后缀表示月中的天数(1st, 2nd, 3rd,...) %w 以数字形式表示周中的天数( 0 = Sunday, 1=Monday, ..., 6=Saturday) %j 以三位数字表示年中的天数( 001, 002, ..., 366) %U 周(0, 1, 52),其中Sunday 为周中的第一天 %u 周(0, 1, 52),其中Monday 为周中的第一天 %M 月名(January, February, ..., December) %b 缩写的月名( January, February,...., December) %m 两位数字表示的月份(01, 02, ..., 12) %c 数字表示的月份(1, 2, ...., 12) %Y 四位数字表示的年份 %y 两位数字表示的年份 %% 直接值“%”MySQL 获得当前日期时间 函数
1.1 获得当前日期+时间(date + time)函数:now()
mysql> select now();+---------------------+| now() |+---------------------+| 2008-08-08 22:20:46 |+---------------------+ |
除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:
这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。
1.2 获得当前日期+时间(date + time)函数:sysdate()
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。看下面的例子就明白了:
mysql> select now(), sleep(3), now();+---------------------+----------+---------------------+| now() | sleep(3) | now() |+---------------------+----------+---------------------+| 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 |+---------------------+----------+---------------------+mysql> select sysdate(), sleep(3), sysdate();+---------------------+----------+---------------------+| sysdate() | sleep(3) | sysdate() |+---------------------+----------+---------------------+| 2008-08-08 22:28:41 | 0 | 2008-08-08 22:28:44 |+---------------------+----------+---------------------+ |