Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
感受JAVA的时间日期处理能力!

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

最近在做一个程序,是把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表示时间间的分隔符。




相关文章

相关软件