java、MySQL时间类型的转换及存储(Timestamp、Date、String、Long)

[java]  view plain  copy
  1. import java.sql.Connection;  
  2. import java.sql.PreparedStatement;  
  3. import java.sql.SQLException;  
  4. import java.sql.Timestamp;  
  5. import java.text.DateFormat;  
  6. import java.text.ParseException;  
  7. import java.text.SimpleDateFormat;  
  8. import java.util.Date;  
  9.   
  10. public class Test {  
  11.     public static void main(String[] args) throws Exception {  
  12.         DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  //首先设定日期时间格式,HH指使用24小时制,hh是使用12小时制  
  13.           
  14.         //获取当前时间,并转换为String  
  15.         Date date = new Date();//获取当前时间,Date型  
  16.         String dateStr = dateFormat.format(date);   // Date型转换成String型,可直接存储进数据库  
  17.         System.out.println("String:" + dateStr);  
  18.           
  19.         //将当前时间转换为从1970年1月1日到现在所经历的毫秒数  
  20.         Long dateLong = date.getTime();             // Date型转换成Long型毫秒数,用于计算  
  21.         System.out.println("毫秒数dateLong:" + dateLong);  
  22.           
  23.         Timestamp timestamp = new Timestamp(dateLong); //Long型毫秒数转为Timestamp型,可直接存储进数据库  
  24.   
  25.         System.out.println("Timestamp:" + timestamp);  
  26.           
  27.         Long dateLong2 = timestamp.getTime();  
  28.         System.out.println("毫秒数dateLong2:" + dateLong2);//Timestamp类型转换为Long型毫秒数  
  29.           
  30.         Date date2 = null;  
  31.         try {  
  32.             date2 = dateFormat.parse(dateStr);//String型转换为Date型  
  33.         } catch (ParseException e1) {  
  34.             e1.printStackTrace();  
  35.         }  
  36.         System.out.println("Date:" + date2);  
  37.           
  38.         String dateStr2 = dateFormat.format(date2);//Date型转换为String型  
  39.         System.out.println("String:" + dateStr2);  
  40.           
  41.         Date date3 = new Date(dateLong2);//Long型毫秒数转换为Date型  
  42.         System.out.println("date3:" + date3);  
  43.           
  44.           
  45.           
  46.         Connection conn = DB.createConn();  
  47.         String insert_sql = "insert into _test values (0,'" + dateStr +"');";  
  48. //      String insert_sql = "insert into _test values (0,'" + dateLong +"');";  
  49. //      String insert_sql = "insert into _test values (0,'" + timestamp +"');";  
  50.         //以上三个sql语句都是可以执行的,即String、Long、Timestamp三种格式的数据都是可以直接存储的  
  51.         System.out.println(insert_sql);  
  52.         String sql = "insert into _test values (null,?)";  
  53.         PreparedStatement ps = DB.prepare(conn, sql);  
  54.         try {  
  55.             ps.executeUpdate(insert_sql);  
  56.         } catch (SQLException e) {  
  57.             e.printStackTrace();  
  58.         }  
  59.         DB.close(ps);  
  60.         DB.close(conn);  
  61.           
  62.     }  
  63. }  

java、MySQL时间类型的转换及存储(Timestamp、Date、String、Long)_第1张图片

其中,MySQL中error_date字段使用的是datetime类型。

你可能感兴趣的:(java面试题,数据库)