|
日期的获取与转换
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()); } }
|