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 }