您的位置:首页 > 数据库 > Oracle

oracle的日期转换问题

2014-09-19 14:18 211 查看
java中的字串日期格式转换    
用的API是SimpleDateFormat,它是属於java.text.SimpleDateFormat,所以请记得import进来!   
  
用法:    
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
这一行最重要,它确立了转换的格式,yyyy是完整的西元年,MM是月份,dd是日期, 至於HH:mm:ss就不需要我再解释了吧!    
ps:为什麽有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小时制,而hh是12小时制   
  
1.字串转日期:    
 2002-10-8 15:30:22要把它转成日期,可以用    
 Date date=sdf.parse("2002-10-8 15:30:22");    
2.日期转字串    
 假如把今天的日期转成字串可用    
 String datestr=sdf.format(new Date());    
 这个字串的内容便类似2002-10-08 14:55:38  
  
透过这个API我们便可以随心所欲的将日期转成我们想要的字串格式,例如希望将日期输出成2002年10月08日,    
我们可以这麽写:    
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");    
String datestr=sdf.format(new Date());    
datestr便会依照我们设定的格式输出 
在java代码日期转换的过程中,转换字符串区分大小写,但是Oracle中却不区分大小写,故可能会出现一些问题!
一、Oracle中使用to_date()时格式化日期需要注意格式码
如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

二、另要以24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle