今天总结一下日期时间如何处理,方便以后查看。
-  1 Oracle
-  1.1 日期格式参数及其含义说明
Oracle不区分大小写,所以下面参数大小写都可以
D              一周中的星期几     
 DAY        天的名字,使用空格填充到9个字符     
 DD          月中的第几天     
 DDD       年中的第几天     
 DY          天的简写名     
 IW           ISO标准的年中的第几周     
 IYYY      ISO标准的四位年份     
 YYYY    四位年份     
 YYY,YY,Y       年份的最后三位,两位,一位     
 HH         小时,按12小时计     
 HH24    小时,按24小时计     
 MI         分     
 SS         秒     
 MM      月     
 Mon     月份的简写     
 Month  月份的全名     
 W        该月的第几个星期
 WW    年中的第几个星期
注意:表示12小时制(HH)时,时间范围为1-12,对应的时间参考挂钟时针的指向。24小时制时,时间范围是0-23
-  1.2 日期加减操作
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 
 sysdate+5/24/60 在系统时间基础上延迟5分钟 
 sysdate+5/24 在系统时间基础上延迟5小时 
 sysdate+5 在系统时间基础上延迟5天 
 add_months(sysdate,-5) 在系统时间基础上延迟5月 
 add_months(sysdate,-5*12) 在系统时间基础上延迟5年 
当前时间减去7分钟的时间   
 select sysdate,sysdate - interval '7' MINUTE FROM dual;  
 当前时间减去7小时的时间   
 select sysdate,sysdate - interval '7' HOUR FROM dual;   
 当前时间减去7天的时间   
 select sysdate,sysdate - interval '7' DAY FROM dual;   
 当前时间减去7月的时间   
 select sysdate,sysdate - interval '7' MONTH FROM dual;   
 当前时间减去7年的时间   
 select sysdate,sysdate - interval '7' YEAR FROM dual;   
 时间间隔乘以一个数字   
 select sysdate,sysdate - 8*interval '2' HOUR FROM dual;   
date类型做减法,单位是天,分别使用*24、*24*60、*24*60*60转换成时、分、秒
-  1.3 日期和字符串互转
to_char将日期转换成字符串
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
to_date将字符串转成日期
select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual
-  1.4 查看当前数据库时间
select sysdate from dual;
-  1.5 trunc函数处理日期
trunc(sysdate,'yyyy') --返回当年第一天.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.
select trunc(sysdate,'YYYY')from dual;
select trunc(sysdate,'MM')from dual;
select trunc(sysdate,'D')from dual;-  2 JAVA
-  2.1 日期和时间模式字符串
这些A—Z,a—z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。
日期和时间模式(注意大小写,代表的含义是不同的)
yyyy:年
 MM:月
 dd:日
 hh:1~12小时制(1-12)
 HH:24小时制(0-23)
 mm:分
 ss:秒
 S:毫秒
 E:星期几
 D:一年中的第几天
 F:一月中的第几个星期(会把这个月总共过的天数除以7)
 w:一年中的第几个星期
 W:一月中的第几星期(会根据实际情况来算)
 a:上下午标识
 k:和HH差不多,表示一天24小时制(1-24)。
 K:和hh差不多,表示一天12小时制(0-11)。
-  2.2 JAVA API
菜鸟教程
-  3 JavaScript API
菜鸟教程
4 mysql
4.1 日期格式
| 说明符 | 描述 | 
|---|---|
| %a | 缩写的工作日名称 ( Sun..Sat) | 
| %b | 缩写的月份名称 ( Jan..Dec) | 
| %c | 月份,数字 ( 0..12) | 
| %D | 带有英文后缀 ( 0th,1st,2nd,3rd, ...)的月份中的第几天 | 
| %d | 月份中的第几天,数字 ( 00..31) | 
| %e | 月份中的第几天,数字 ( 0..31) | 
| %f | 微秒 ( 000000..999999) | 
| %H | 小时 ( 00..23) | 
| %h | 小时 ( 01..12) | 
| %I | 小时 ( 01..12) | 
| %i | 分钟,数字 ( 00..59) | 
| %j | 一年中的某一天 ( 001..366) | 
| %k | 小时 ( 0..23) | 
| %l | 小时 ( 1..12) | 
| %M | 月份名称 ( January..December) | 
| %m | 月份,数字 ( 00..12) | 
| %p | AM或者PM | 
| %r | 时间,12 小时制( hh:mm:ss后跟AM或PM) | 
| %S | 秒 ( 00..59) | 
| %s | 秒 ( 00..59) | 
| %T | 时间,24 小时制 ( hh:mm:ss) | 
| %U | 周 ( 00..53),其中星期日是一周的第一天; WEEK()模式 0 | 
| %u | 周 ( 00..53),其中星期一是一周的第一天; WEEK()模式一 | 
| %V | 周 ( 01..53),其中星期日是一周的第一天; WEEK()模式2;与%X | 
| %v | 周 ( 01..53),其中星期一是一周的第一天; WEEK()模式3;与%x | 
| %W | 工作日名称 ( Sunday..Saturday) | 
| %w | 星期几( 0=星期日..6=星期六) | 
| %X | 周的年份,其中星期日是一周的第一天,数字,四位数字;与 %V | 
| %x | 一周的年份,其中星期一是一周的第一天,数字,四位数字;与 %v | 
| %Y | 年份,数字,四位数字 | 
| %y | 年份,数字(两位数) | 
| %% | 一个文字 %字符 | 
| % | x, 对于上面未列出的任何 “x” | 
4.2 日期函数
| 名称 | 描述 | 
| CURDATE() | 返回当前日期 | 
| CURRENT_DATE(), CURRENT_DATE | CURDATE() 的同义词 | 
| CURRENT_TIME(), CURRENT_TIME | CURTIME() 的同义词 | 
| CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP | NOW() 的同义词 | 
| CURTIME() | 返回当前时间 | 
| DATE() | 提取日期或日期时间表达式的日期部分 | 
| DATE_ADD() | 将时间值(间隔)添加到日期值 | 
| DATE_FORMAT() | 指定日期格式 | 
| STR_TO_DATE() | 将字符串转换为日期 | 
更多函数参考MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions