oracle中的日期格式为:
坑之一:HH和HH24
12小时制:yyyy-MM-dd HH:mi:ss
24小时制:yyyy-MM-dd HH24:mi:ss
在java中HH和hh是区分12小时制和24小时制的,oracle中并不适用(不区分大小写)
坑之二:mm和mi
在java中yyyy-MM-dd HH:mm:ss 是正常的,oracle不区分大小写,应该使用mi获取分钟数
详:
在日期数据库数据查询出来的时候经常会to_char()一下,格式化一下日期格式在java中一般会用yyyy-mm-dd hh24:mm:ss的格式,然而在oracle中to_char(sysdate,'yyyy-mm-dd hh24:mm:ss')和to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')有着巨大差别:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') from dual;
执行的结果差异很明显分别是:
2014-01-22 10:29:48
2014-01-22 10:01:48
oracle中mm是月份,mi是分钟和Java细微的差异。