JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换

时间:2024-05-10 13:05:14

java.util.Date与的String互转

  java.util.Date---->String

 /**
* 将java.util.Date对象转化为String字符串
* @param date
* 要格式的java.util.Date对象
* @param strFormat
* 输出的String字符串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
* @return 表示日期的字符串
*/
public static String dateToStr(java.util.Date date, String strFormat) {
SimpleDateFormat sf = new SimpleDateFormat(strFormat);
String str = sf.format(date);
return str;
}

String---->java.util.Date

 /**
* 将String字符串转换为java.util.Date格式日期
* @param strDate
* 表示日期的字符串
* @param dateFormat
* 传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
* @return java.util.Date类型日期对象(如果转换失败则返回null)
*/
public static java.util.Date strToUtilDate(String strDate, String dateFormat) {
SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
java.util.Date date = null;
try {
date = sf.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}

java.sql.Timestamp与的String互转
java.sql.Timestamp---->String

 /**
* 将java.sql.Timestamp对象转化为String字符串
* @param time
* 要格式的java.sql.Timestamp对象
* @param strFormat
* 输出的String字符串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
* @return 表示日期的字符串
*/
public static String dateToStr(java.sql.Timestamp time, String strFormat) {
DateFormat df = new SimpleDateFormat(strFormat);
String str = df.format(time);
return str;
}

String---->java.sql.Timestamp

 /**
* 将String字符串转换为java.sql.Timestamp格式日期,用于数据库保存
* @param strDate
* 表示日期的字符串
* @param dateFormat
* 传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
* @return java.sql.Timestamp类型日期对象(如果转换失败则返回null)
*/
public static java.sql.Timestamp strToSqlDate(String strDate, String dateFormat) {
SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
java.util.Date date = null;
try {
date = sf.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
java.sql.Timestamp dateSQL = new java.sql.Timestamp(date.getTime());
return dateSQL;
}

将String字符串转换为java.util.Date

String字符串转换为java.sql.Timestamp

java.util.Date与的java.sql.Timestamp互转

java.util.Date---->java.sql.Timestamp(用String做中间变量,此方法依赖于上面的方法)

 /**
* 将java.util.Date对象转化为java.sql.Timestamp对象
*
* @param date
* 要转化的java.util.Date对象
* @return 转化后的java.sql.Timestamp对象
*/
public static java.sql.Timestamp dateToTime(java.util.Date date) {
String strDate = dateToStr(date, "yyyy-MM-dd HH:mm:ss SSS");
return strToSqlDate(strDate, "yyyy-MM-dd HH:mm:ss SSS");
}

java.sql.Timestamp---->java.util.Date(二者是父子关系,可以直接赋值,自动转换)

 /**
* 将java.sql.Timestamp对象转化为java.util.Date对象
*
* @param time
* 要转化的java.sql.Timestamp对象
* @return 转化后的java.util.Date对象
*/
public static java.util.Date timeToDate(java.sql.Timestamp time) {
return time;
}

完整的类在这:

 import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat; /**
* 关于java.util.Date、java.sql.Timestamp和String之间的互相转换的方法
* @Description: TODO
* @CreateTime: 2017年10月25日 下午3:20:44
* @version V1.0
*/
public class DateUtil { /**
* 将String字符串转换为java.util.Date格式日期
*
* @param strDate
* 表示日期的字符串
* @param dateFormat
* 传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
* @return java.util.Date类型日期对象(如果转换失败则返回null)
*/
public static java.util.Date strToUtilDate(String strDate, String dateFormat) {
SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
java.util.Date date = null;
try {
date = sf.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
} /**
* 将String字符串转换为java.sql.Timestamp格式日期,用于数据库保存
*
* @param strDate
* 表示日期的字符串
* @param dateFormat
* 传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
* @return java.sql.Timestamp类型日期对象(如果转换失败则返回null)
*/
public static java.sql.Timestamp strToSqlDate(String strDate, String dateFormat) {
SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
java.util.Date date = null;
try {
date = sf.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
java.sql.Timestamp dateSQL = new java.sql.Timestamp(date.getTime());
return dateSQL;
} /**
* 将java.util.Date对象转化为String字符串
*
* @param date
* 要格式的java.util.Date对象
* @param strFormat
* 输出的String字符串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
* @return 表示日期的字符串
*/
public static String dateToStr(java.util.Date date, String strFormat) {
SimpleDateFormat sf = new SimpleDateFormat(strFormat);
String str = sf.format(date);
return str;
} /**
* 将java.sql.Timestamp对象转化为String字符串
*
* @param time
* 要格式的java.sql.Timestamp对象
* @param strFormat
* 输出的String字符串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
* @return 表示日期的字符串
*/
public static String dateToStr(java.sql.Timestamp time, String strFormat) {
DateFormat df = new SimpleDateFormat(strFormat);
String str = df.format(time);
return str;
} /**
* 将java.sql.Timestamp对象转化为java.util.Date对象
*
* @param time
* 要转化的java.sql.Timestamp对象
* @return 转化后的java.util.Date对象
*/
public static java.util.Date timeToDate(java.sql.Timestamp time) {
return time;
} /**
* 将java.util.Date对象转化为java.sql.Timestamp对象
*
* @param date
* 要转化的java.util.Date对象
* @return 转化后的java.sql.Timestamp对象
*/
public static java.sql.Timestamp dateToTime(java.util.Date date) {
String strDate = dateToStr(date, "yyyy-MM-dd HH:mm:ss SSS");
return strToSqlDate(strDate, "yyyy-MM-dd HH:mm:ss SSS");
} /**
* 返回表示系统当前时间的java.util.Date对象
* @return 返回表示系统当前时间的java.util.Date对象
*/
public static java.util.Date nowDate(){
return new java.util.Date();
} /**
* 返回表示系统当前时间的java.sql.Timestamp对象
* @return 返回表示系统当前时间的java.sql.Timestamp对象
*/
public static java.sql.Timestamp nowTime(){
return dateToTime(new java.util.Date());
}
}