感受JAVA的时间日期处理能力!

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

最近在做一个程序,是把ORACLE里的数据读出来送到SQLSERVER里面去,本来这个程序也没什么,想想一会儿就能做完,但是仔细一看ORACLE里头的数据,发现怎么时间是用字串存的,而且还会出现超过24小时的,一问,原因是时间记录是按班次的,一班48个小时。然而程序要求送到SQLSERVER里的时间是DATETIME类型的,一时间想不到什么好办法,只有分析字符串,得到年、月、日、时、分、、秒后,再把不合理的时间处理了,还能有什么好办法??真是越想越不想做,本来一个非常简单的程序,如果这样一来倒把功夫花在不必要的细节上,真是划不来!不行,JAVA的库这么丰富,一定有好办法的!于是,我就在HELP里找,DATE、CALENDAR、DATEFORMAT翻了个遍,找了一下相互的关系,终于让我搞明白了,找到一个比较方便的办法来解决,特拿出来与大家共享!

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");

Date date;

try{

date = df.parse("20031124291921");

df.applyPattern("yyyy-MM-dd HH:mm:ss");

System.out.println(df.format(date));

} catch (ParseException e){

System.out.println(e.toString());

}

以上代码就是我整个分析日期时间的过程,简单吧?哈哈!这得归功于JAVA丰富的类库,另外,我还写了个得到与当天差任意天的格式化时间:

public String getPriorDay(int offset, String splitdate, String splittime){

Calendar theday = Calendar.getInstance();

theday.add(Calendar.DATE, offset);

df.applyPattern("yyyy"+splitdate+"MM"+splitdate+"dd"+" "+"HH"+splittime+"mm"+splittime+"ss");

return df.format(theday.getTime());

}

OFFSET表示与当天相差的天数,SPLITDATE表示日期间的分隔符,SPLITTIME表示时间间的分隔符。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有