站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题Data

Data

摘要: Data

日期的获取与转换


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 */
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());
}

}


↑返回目录
前一篇: 教你如何成为一名Java初级程序员
后一篇: Java十大经典中文图书