邮件订阅

Data E-mail
用户评价: / 0
好 
技术文章 - Jakarta Common
作者:Administrator   
2007-12-01 22:16

    日期的获取与转换


import java.util.*;
import java.text.*;
import org.apache.log4j.*;


public class DateUtil{
  private static Logger log4j = Logger.getLogger(DateUtil.class);
 public DateUtil(){
 }

 public static Date parse(String dateString,String dateFormat){
  try{
   return new SimpleDateFormat(dateFormat).parse(dateString);
  }
  catch (ParseException ex){
   return null;
  }
 }

 public static String format(Calendar calendar,String dateFormat){
  return new SimpleDateFormat(dateFormat).format(calendar.getTime());
 }

 public static String format(Date date,String dateFormat){
  return new SimpleDateFormat(dateFormat).format(date);
 }

    /**
     * util.Date转换sql.Date
     * @param date: java.util.Date
     * @return 返回java.sql.Date
     */
    public static java.sql.Date sqlDate(Date date){
        java.sql.Date sqlDate=null;
        sqlDate=new java.sql.Date(date.getTime());
        return sqlDate;
    }

    /**
     * sql.Date转换util.Date
     * @param date: java.sql.Date
     * @return 返回java.util.Date
     */
    public static java.util.Date utilDate(java.sql.Date date){
        java.util.Date utilDate=null;
        //utilDate= new java.util.Date(date.getTime());
        utilDate=parse(format(date),"yyyy-MM-dd HH:mm");
        return utilDate;
    }

    /**
     * java.sql.Date转换称String型
     * @param sqlDate
     * @return
     */
    public static String format(java.sql.Date sqlDate){
        return sqlDate.toString();
    }

 /**
  * 获取当前的系统日期
  * @param dateFormat
  * @return 返回字符串
  */
 public static String nowDate(String dateFormat){
  return new SimpleDateFormat(dateFormat).format(new Date());
 }

 /**
 public static Date toDate(Calendar calendar){
  return calendar==null?null:calendar.getTime();
 }

 public static Calendar toCalendar(Date date){
  Calendar cl = null;
  if ( date!=null){
   cl.getInstance();
   cl.setTime(date);
  }
  return cl;
 }
 */

 /**
  * 日期比较大小
  * @param date1
  * @param date2
  * @return 返回比较结果
  *      =0 date1=date2;
  *      >0 date1>date2;
  *      <0 date1<date2;
  */
 public static int dateCompare(Date date1,Date date2){
  return date1.compareTo(date2);
 }
   
   
    /***
     * 日期型转换成字符串,固定日期格式为getDateFormat()
     */

    //把一个java.sql.Date类型的时间转换成一个格式化的字符串,以为getDateFormat()时间格式
    //出库时使用,从数据库中出来到界面,从数据库中读出时,调用。
    public static String afterOpenCheck(java.sql.Timestamp date){
        if(date==null)
            return "";
        log4j.debug("begin afterOpenCheck");
        String ret=format(date,getDateFormat());
        if(ret.equals(getStrNullDate()))
            ret="";
        log4j.debug("end afterOpenCheck:date="+ret);
        return ret;
   }


    //时间保存前的检验2004-05-06 12:30
    public static java.sql.Timestamp beforeSaveCheck(String strDate){
        log4j.debug("时间保存前的检验");

        if(strDate==null){
            return null;
        }
        if(strDate.length()==0){
            return null;
        }  //utilDate= new java.util.Date(date.getTime());
        log4j.debug("时间保存前的检验的值:"+strDate);
        Date temp=parse(strDate,getDateFormat());

        java.sql.Timestamp  ret=new java.sql.Timestamp (temp.getTime());
        log4j.debug("时间保存前的检验,返回值:"+ret);
        //java.sql.Timestamp temp=new java.sql.Timestamp();
        return ret;
    }


    //返回系统默认空时间的表示时间
    public static String getNullSqlDateFormat(){
        return "";
    }
    public static String getStrNullDate(){
        return "";
    }

    //返回系统使用的默认时间格式
    public static String getDateFormat(){
        return "yyyy-MM-dd HH:mm";
    }
    //返回系统使用的时间格式oracle sql语句
    public static String getSqlDateFormat(){
        return "yyyy-MM-dd HH24:mi";
    }

    //返回系统默认格式的当前时间
    public static String nowDate(){
        return nowDate(getDateFormat());
    }
   
   
   
    /**
     * 获取某一日期的前后N天的日期
     * @param sDate
     * @param n
     * @param dateFormat
     * @return
     */
    public static String getNewDateByDay(String sDate,int n,String dateFormat) {
        SimpleDateFormat df=new SimpleDateFormat(dateFormat);
        Calendar calendar=Calendar.getInstance();
        calendar.setTime(parse(sDate,dateFormat));
        calendar.add(Calendar.DAY_OF_WEEK,n);
        return df.format(calendar.getTime());
    }

}

最后更新于: 2007-12-01 22:16
 

欢迎转载

本站文章欢迎转载,但请注明出处(http://www.javajia.com,Java家)