-- 关于 mysql时间函数
-- 获取当前日期 2017-08-17select current_date();-- 获取当前时间20:03:07select current_time();
-- 获取当前的日期和时间2017-08-17 20:03:24select now();  select sysdate() select current_timestamp()
-- 获取datetime的年,月,日select year(now()); -- 年 2017 select month(now());-- 月 08select day(now());-- 天 17
 -- 返回datetime 的日期部分 2017-08-17  相当于:current_date()select date(now());
-- 在datetime加上日期或时间           --   day 天       hour 小时             minute  分钟   --   second 秒    microsecond 毫秒      week 星期  --   month  月    year 年              quarter  季节 select date_add(now(),interval 1 day);-- 当前datetime的后一天  2017-08-18 20:05:04select date_add(now(),interval -1 day);-- 当前datetime的前一天 2017-08-16 2 0:05:04select date(date_add(now(),interval -1 day));-- 当前datetime的前一天的日期select date_add(now(),interval 1 month);-- 当前datetime的后一个月select date_add(now(),interval 1 year); -- 当前datetime的后一个年
-- 日期时间转换函数  %Y 年    %m 月   %d 日   %H 时   %i 分   %s 秒  -- 中间的“-” 换成别的字符也可以 不加也可以 select date_format('2088-08-08 18:08:08', '%Y-%m-%d %H:%i:%s'); -- 2088-08-08 13:08:08-- 如果没有年月日 结果就不是预期结果了 下边可以看到 直接把预期的时分秒转换成了年月日 select date_format('12:02:06', '%Y-%m-%d %H:%i:%s'); -- 2012-02-06 00:00:00-- 如果之后时分秒 建议用 time_format  专门来做时间的转换(时分秒)select time_format('12:02:06','%H:%i:%s');
-- 上边是字符格式转换成时间  下边介绍时间转换成字符串格式 str_to_dateselect str_to_date('06-08-2008', '%d-%m-%Y'); -- 2008-08-06  字符串是“-” 分割  后边表达式也要“-” 分割select str_to_date('06*08*2008', '%d*%m*%Y'); -- 2008-08-06  字符串是“*” 分割  后边表达式也要“*” 分割select str_to_date('08:09:10', '%h:%i:%s'); -- 08:09:10select str_to_date('08-09-2008 08:09:30', '%d-%m-%Y %h:%i:%s'); -- 2008-08-09 08:09:30
--  这个函数不知道什么情境下会用  就是计算到现在的天数 从0000年一月一日 开始select to_days('0000-01-01'); -- 0select to_days('2008-08-08'); -- 733627
-- time_to_sec 这个是计算总共的秒数 从  00:00:00 开始-- sec_to_time 把秒数转换成时间     select time_to_sec('01:00:05'); -- 3605select sec_to_time(3605); -- '01:00:05'
-- 还有一个很酷炫的函数 构造时间 -- makdedate(year,dayofyear), maketime(hour,minute,second)select makedate(2008,31); -- '2001-01-31'   2008年+31天select makedate(2008,32); -- '2001-02-01'   2008年+32天select maketime(12,15,30); -- '12:15:30'时,分,秒

 -- 计算2个日期之间的 差年 天 小时  分 秒 毫秒 等select timestampdiff(year,'2002-05-01','2001-01-01'); -- -1select timestampdiff(day ,'2002-05-01','2001-01-01'); -- -485select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); -- -12select timestampdiff(MINUTE,'2008-08-08 12:00:00','2008-08-08 00:00:00'); -- -720select timestampdiff(microsecond ,'2008-08-08 12:00:00','2008-08-08 00:00:00'); --  43200000000

-- %Y 年    %m 月   %d 日   %H 时(大写H是24小时制  小写h是12小时制)   %i 分   %s 秒


©著作权归作者所有:来自51CTO博客作者木子的昼夜的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【11g新特性】DDL_LOCK_TIMEOUT的作用
  2. Docker容器时间跟主机时间保持同步的操作记录
  3. confluence与jira账号对接、查看到期时间及问题总结
  4. python utc时间转北京时间
  5. 从手机定位谈谈科技
  6. 程序员业余时间写的代码也算公司的?Nginx之父被捕引发争议
  7. 图文带你理解 Apache Iceberg 时间旅行是如何实现的?
  8. 这38款超级炫酷的时间轴特效代码案例,总有一款是你需要的
  9. 【大数据面试题】Flink企业级面试题60连击

随机推荐

  1. android基础
  2. 安卓的下拉控件Spinner
  3. Android系统自带的常用数据库
  4. [转]android:利用DatabaseUtils.InsertHel
  5. Android NDK开发初步
  6. Android studio 进度条
  7. #Android学习笔记(二)#
  8. Android中View的绘制流程
  9. 疯狂Android讲义
  10. Android XML解析