本文摘自PHP中文网,作者韦小宝,侵删。
刚一开始肯定会有很多同学对mysql获取时间不了解,今天我们就来详细的讲一下mysql的时间和日期,对于mysql时间和日期不了解的同学可以多看看哦~一、日期时间获取
1,1获取当前本地的日期和时间
1 2 3 4 5 6 | SELECT
NOW(),
CURRENT_TIMESTAMP (),
LOCALTIME(),
LOCALTIMESTAMP(),
SYSDATE();
|
上面5个函数都可以获取当前本地时间,但SYSDATE有所不同。
1 | SELECT NOW(), SLEEP(3), NOW();
|
执行结果:
1 2 | NOW() sleep(3) NOW()
2017-11-09 17:21:09 0 2017-11-09 17:21:09
|
虽然sleep了3秒,但NOW()前后2次获取到时间是一样的,也就是说NOW()函数获取的时间是在整个SQL语句开始执行时的时间,无论SQL语句中有多少个NOW()函数,获取到的时间都是一样的。
CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP()和NOW()函数一样。
但SYSDATE不同,它获取到的是SYSDATE()函数执行时的实时时间:
1 | SELECT SYSDATE(), SLEEP(3), SYSDATE();
|
执行结果:
1 2 | SYSDATE() sleep(3) SYSDATE()
2017-11-09 17:25:05 0 2017-11-09 17:25:08
|
1.2、 获取当前本地的日期
1 2 3 | SELECT
CURDATE(),
CURRENT_DATE ();
|
1.3、 获取当前本地的时间
1 2 3 | SELECT
CURTIME(),
CURRENT_TIME ();
|
1.4、 获取当前UTC日期和时间
1.5、 获取当前UTC日期
1.6、 获取当前UTC时间
1.7、获取时间戳(自1970年经过的秒)
1 2 | SELECT UNIX_TIMESTAMP();
SELECT UNIX_TIMESTAMP( '2017-11-09 12:30:00' );
|
二、 时间操作
2.1、 从字符串提取时间和日期
1 2 3 4 5 6 7 8 9 10 11 12 | SET @dt = '2008-09-10 07:15:30.123456' ;
SELECT DATE (@dt);
SELECT TIME (@dt);
SELECT YEAR (@dt);
SELECT QUARTER(@dt);
SELECT MONTH (@dt);
SELECT WEEK(@dt);
SELECT DAY (@dt);
SELECT HOUR (@dt);
SELECT MINUTE (@dt);
SELECT SECOND (@dt);
SELECT MICROSECOND(@dt);
|
2.2、 获取某天在一周、一月、一年中所处位置
1 2 3 4 | SET @dt = '2017-11-09' ;
SELECT DAYOFWEEK(@dt);
SELECT DAYOFMONTH(@dt);
SELECT DAYOFYEAR(@dt);
|
2.3、 获取指定日期的最后一天
1 | SELECT LAST_DAY( '2017-02-05' );
|
2.4. 时间加减
1 2 3 4 5 6 7 8 9 10 11 | SET @dt = "2017-11-09 17:10:20.0000001" ;
SELECT DATE_ADD(@dt, INTERVAL 1 DAY );
SELECT DATE_ADD(@dt, INTERVAL 2 HOUR );
SELECT DATE_ADD(@dt, INTERVAL 1 MINUTE );
SELECT DATE_ADD(@dt, INTERVAL 1 SECOND );
SELECT DATE_ADD(@dt, INTERVAL 1 MICROSECOND);
SELECT DATE_ADD(@dt, INTERVAL 1 WEEK);
SELECT DATE_ADD(@dt, INTERVAL 1 MONTH );
SELECT DATE_ADD(@dt, INTERVAL 1 QUARTER);
SELECT DATE_ADD(@dt, INTERVAL 1 YEAR );
SELECT DATE_ADD(@dt, INTERVAL -1 DAY );
|
2.5. 两个日期、时间加减
1 2 | SELECT DATEDIFF( '2008-08-08' , '2008-08-01' );
SELECT DATEDIFF( '2008-08-01' , '2008-08-08' );
|
1 2 | SELECT TIMEDIFF( '2008-08-08 08:08:08' , '2008-08-08 00:00:00' );
SELECT TIMEDIFF( '00:00:00' , '08:08:08' );
|
2.6. 时间格式化
1 2 3 | SELECT DATE_FORMAT( '2008-08-08 22:23:00' , '%W %M %Y' );
SELECT DATE_FORMAT( '2008-08-08 22:23:01' , '%Y%m%d%H%i%s' );
SELECT TIME_FORMAT( '22:23:01' , '%H.%i.%s' );
|
2.7. 秒计算
1 2 3 | 计算指定时间折合多少秒,如00:01:00表示1分钟,等于60秒。
SELECT TIME_TO_SEC( '01:00:05' );
SELECT SEC_TO_TIME(3605);
|
以上就是 mysql日期和时间 的所有内容了,希望可以给同学们带来新的认识和启发吧
相关推荐:
MySQL查询时间基础教程
MySQL时间日期查询方法与函数
mysql时间函数使用 mysql数据库差异比较的PHP代码
以上就是mysql日期和时间的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
怎么彻底删除mysql服务?
mysql外键基本功能与用法详解
mysql表的分区是什么格式
mysql中关于浮点型转换成字符型出现的一些问题解决
mysql数据库优化之索引实现原理与用法分析
一文读懂navicat for mysql基础知识
mysql中使用正则表达式查询实例详解
mysql数据库如何使用
mysql使用变量实现各种排序详解
mysql5.6启动内存占用过高解决方案
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » mysql日期和时间