Advertisement

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

阅读量:

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

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

全部评论 (0)

还没有任何评论哟~