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

java.util.Date与的String互转

  java.util.Date---->String

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

String---->java.util.Date

 1 /**
 2  * 将String字符串转换为java.util.Date格式日期
 3  * @param strDate
 4  *            表示日期的字符串
 5  * @param dateFormat
 6  *            传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
 7  * @return java.util.Date类型日期对象(如果转换失败则返回null)
 8  */
 9 public static java.util.Date strToUtilDate(String strDate, String dateFormat) {
10     SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
11     java.util.Date date = null;
12     try {
13         date = sf.parse(strDate);
14     } catch (ParseException e) {
15         e.printStackTrace();
16     }
17     return date;
18 }

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

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

String---->java.sql.Timestamp

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

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

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

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

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

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

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

 1 /**
 2  * 将java.sql.Timestamp对象转化为java.util.Date对象
 3  * 
 4  * @param time
 5  *            要转化的java.sql.Timestamp对象
 6  * @return 转化后的java.util.Date对象
 7  */
 8 public static java.util.Date timeToDate(java.sql.Timestamp time) {
 9     return time;
10 }

完整的类在这:

  1 import java.text.DateFormat;
  2 import java.text.ParseException;
  3 import java.text.SimpleDateFormat;
  4 
  5 /**
  6  * 关于java.util.Date、java.sql.Timestamp和String之间的互相转换的方法
  7  * @Description: TODO
  8  * @CreateTime: 2017年10月25日 下午3:20:44
  9  * @version V1.0
 10  */
 11 public class DateUtil {
 12 
 13     /**
 14      * 将String字符串转换为java.util.Date格式日期
 15      * 
 16      * @param strDate
 17      *            表示日期的字符串
 18      * @param dateFormat
 19      *            传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
 20      * @return java.util.Date类型日期对象(如果转换失败则返回null)
 21      */
 22     public static java.util.Date strToUtilDate(String strDate, String dateFormat) {
 23         SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
 24         java.util.Date date = null;
 25         try {
 26             date = sf.parse(strDate);
 27         } catch (ParseException e) {
 28             e.printStackTrace();
 29         }
 30         return date;
 31     }
 32 
 33     /**
 34      * 将String字符串转换为java.sql.Timestamp格式日期,用于数据库保存
 35      * 
 36      * @param strDate
 37      *            表示日期的字符串
 38      * @param dateFormat
 39      *            传入字符串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
 40      * @return java.sql.Timestamp类型日期对象(如果转换失败则返回null)
 41      */
 42     public static java.sql.Timestamp strToSqlDate(String strDate, String dateFormat) {
 43         SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
 44         java.util.Date date = null;
 45         try {
 46             date = sf.parse(strDate);
 47         } catch (ParseException e) {
 48             e.printStackTrace();
 49         }
 50         java.sql.Timestamp dateSQL = new java.sql.Timestamp(date.getTime());
 51         return dateSQL;
 52     }
 53 
 54     /**
 55      * 将java.util.Date对象转化为String字符串
 56      * 
 57      * @param date
 58      *            要格式的java.util.Date对象
 59      * @param strFormat
 60      *            输出的String字符串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
 61      * @return 表示日期的字符串
 62      */
 63     public static String dateToStr(java.util.Date date, String strFormat) {
 64         SimpleDateFormat sf = new SimpleDateFormat(strFormat);
 65         String str = sf.format(date);
 66         return str;
 67     }
 68 
 69     /**
 70      * 将java.sql.Timestamp对象转化为String字符串
 71      * 
 72      * @param time
 73      *            要格式的java.sql.Timestamp对象
 74      * @param strFormat
 75      *            输出的String字符串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
 76      * @return 表示日期的字符串
 77      */
 78     public static String dateToStr(java.sql.Timestamp time, String strFormat) {
 79         DateFormat df = new SimpleDateFormat(strFormat);
 80         String str = df.format(time);
 81         return str;
 82     }
 83 
 84     /**
 85      * 将java.sql.Timestamp对象转化为java.util.Date对象
 86      * 
 87      * @param time
 88      *            要转化的java.sql.Timestamp对象
 89      * @return 转化后的java.util.Date对象
 90      */
 91     public static java.util.Date timeToDate(java.sql.Timestamp time) {
 92         return time;
 93     }
 94 
 95     /**
 96      * 将java.util.Date对象转化为java.sql.Timestamp对象
 97      * 
 98      * @param date
 99      *            要转化的java.util.Date对象
100      * @return 转化后的java.sql.Timestamp对象
101      */
102     public static java.sql.Timestamp dateToTime(java.util.Date date) {
103         String strDate = dateToStr(date, "yyyy-MM-dd HH:mm:ss SSS");
104         return strToSqlDate(strDate, "yyyy-MM-dd HH:mm:ss SSS");
105     }
106 
107     /**
108      * 返回表示系统当前时间的java.util.Date对象
109      * @return  返回表示系统当前时间的java.util.Date对象
110      */
111     public static java.util.Date nowDate(){
112         return new java.util.Date();
113     }
114     
115     /**
116      * 返回表示系统当前时间的java.sql.Timestamp对象
117      * @return  返回表示系统当前时间的java.sql.Timestamp对象
118      */
119     public static java.sql.Timestamp nowTime(){
120         return dateToTime(new java.util.Date());
121     }
122 }
原文地址:https://www.cnblogs.com/zhang-yan/p/7733005.html