有很多注释,就不做过多解释了
1import java.sql.Timestamp; 2import java.text.DateFormat; 3import java.text.ParseException; 4import java.text.SimpleDateFormat; 5import java.util.Date; 6 7/** 8 * 时间转化工具 date转为时间戳 时间戳转date 互相与String的转换 9 * 所有出现的String time 格式都必须为(yyyy-MM-dd HH:mm:ss),否则出错 10 * @author 赵仁杰 11 * 12 */ 13public class TimeExchange { 14 15 /** 16 * String(yyyy-MM-dd HH:mm:ss) 转 Date 17 * 18 * @param time 19 * @return 20 * @throws ParseException 21 */ 22 // String date = "2010/05/04 12:34:23"; 23 public static Date StringToDate(String time) throws ParseException { 24 25 Date date = new Date(); 26 // 注意format的格式要与日期String的格式相匹配 27 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 28 try { 29 date = dateFormat.parse(time); 30 System.out.println(date.toString()); 31 } catch (Exception e) { 32 e.printStackTrace(); 33 } 34 35 return date; 36 } 37 38 /** 39 * Date转为String(yyyy-MM-dd HH:mm:ss) 40 * 41 * @param time 42 * @return 43 */ 44 public static String DateToString(Date time) { 45 String dateStr = ""; 46 Date date = new Date(); 47 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss"); 48 try { 49 dateStr = dateFormat.format(time); 50 System.out.println(dateStr); 51 } catch (Exception e) { 52 e.printStackTrace(); 53 } 54 return dateStr; 55 } 56 /** 57 * String(yyyy-MM-dd HH:mm:ss)转10位时间戳 58 * @param time 59 * @return 60 */ 61 public static Integer StringToTimestamp(String time){ 62 63 int times = 0; 64 try { 65 times = (int) ((Timestamp.valueOf(time).getTime())/1000); 66 } catch (Exception e) { 67 e.printStackTrace(); 68 } 69 if(times==0){ 70 System.out.println("String转10位时间戳失败"); 71 } 72 return times; 73 74 } 75 /** 76 * 10位int型的时间戳转换为String(yyyy-MM-dd HH:mm:ss) 77 * @param time 78 * @return 79 */ 80 public static String timestampToString(Integer time){ 81 //int转long时,先进行转型再进行计算,否则会是计算结束后在转型 82 long temp = (long)time*1000; 83 Timestamp ts = new Timestamp(temp); 84 String tsStr = ""; 85 DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 86 try { 87 //方法一 88 tsStr = dateFormat.format(ts); 89 System.out.println(tsStr); 90 } catch (Exception e) { 91 e.printStackTrace(); 92 } 93 return tsStr; 94 } 95 /** 96 * 10位时间戳转Date 97 * @param time 98 * @return 99 */ 100 public static Date TimestampToDate(Integer time){ 101 long temp = (long)time*1000; 102 Timestamp ts = new Timestamp(temp); 103 Date date = new Date(); 104 try { 105 date = ts; 106 //System.out.println(date); 107 } catch (Exception e) { 108 e.printStackTrace(); 109 } 110 return date; 111 } 112 /** 113 * Date类型转换为10位时间戳 114 * @param time 115 * @return 116 */ 117 public static Integer DateToTimestamp(Date time){ 118 Timestamp ts = new Timestamp(time.getTime()); 119 120 return (int) ((ts.getTime())/1000); 121 } 122 public static void main(String [] args){ 123 System.out.println(StringToTimestamp("2011-05-09 11:49:45")); 124 System.out.println(DateToTimestamp(TimestampToDate(StringToTimestamp("2011-05-09 11:49:45")))); 125 } 126 127}