MySQL如何取得当前日期及日期格式
发布时间:2022-01-11 01:47:05 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍了MySQL如何获取当前日期及日期格式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字
这篇文章主要介绍了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 两位数字表示的年份 %% 直接值“%” curdate() MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---------------------+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() ,current_timestamp ,localtime() ,localtime ,localtimestamp -- (v4.0.6) ,localtimestamp() -- (v4.0.6) 这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。 1.2 获得当前日期+时间(date + time)函数:sysdate() sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。看下面的例子就明白了: +---------------------+----------+---------------------+ | sysdate() | sleep(3) | sysdate() | +---------------------+----------+---------------------+ | 2008-08-08 22:28:41 | 0 | 2008-08-08 22:28:44 | +---------------------+----------+---------------------+ 可以看到,虽然中途 sleep 3 秒,但 now() 函数两次的时间值是相同的; sysdate() 函数两次得到的时间值相差 3秒。MySQL Manual 中是这样描述 sysdate() 的:Return the time at which the functionexecutes。 sysdate() 日期时间函数,一般情况下很少用到。 2. 获得当前日期(date)函数:curdate() mysql> select curdate(); +------------+ | curdate() | +------------+ | 2008-08-08 | +------------+ 其中,下面的两个日期函数等同于 curdate(): current_date() ,current_date 3. 获得当前时间(time)函数:curtime() mysql> select curtime(); +-----------+ | curtime() | +-----------+ | 22:41:30 | +-----------+ 其中,下面的两个时间函数等同于 curtime(): current_time() ,current_time 4. 获得当前 UTC 日期时间函数:utc_date(), utc_time(), utc_timestamp() mysql> select utc_timestamp(), utc_date(), utc_time(), now() +---------------------+------------+------------+---------------------+ | utc_timestamp() | utc_date() | utc_time() | now() | +---------------------+------------+------------+---------------------+ | 2008-08-08 14:47:11 | 2008-08-08 | 14:47:11 | 2008-08-08 22:47:11 | +---------------------+------------+------------+---------------------+ 因为我国位于东八时区,所以本地时间 = UTC 时间 + 8 小时。UTC 时间在业务涉及多个国家和地区的时候,非常有用。 二、MySQL 日期时间 Extract(选取) 函数。 选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒 set @dt = '2008-09-10 07:15:30.123456'; select date(@dt); -- 2008-09-10 select time(@dt); -- 07:15:30.123456 select year(@dt); -- 2008 select quarter(@dt); -- 3 select month(@dt); -- 9 select week(@dt); -- 36 select day(@dt); -- 10 select hour(@dt); -- 7 select minute(@dt); -- 15 select second(@dt); -- 30 select microsecond(@dt); -- 123456 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |