SQL相关时间 java.sql.Date: 对应SQL的DATE类型,只包含日期信息(年、月、日),不包含时间信息。 java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); java.sql.Time: 对应SQL的TIME类型,只包含时间信息(时、分、秒),不包含日期信息。 java.util.Date utilDate = new java.util.Date(); java.sql.Time sqlTime = new java.sql.Time(utilDate.getTime()); java.sql.Timestamp: 对应SQL的TIMESTAMP或DATETIME类型,包含日期和时间信息,通常也包含时区或时差信息 java.util.Date utilDate = new java.util.Date(); java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(utilDate.getTime()); 在实际应用中,当你使用JDBC(Java Database Connectivity)与数据库交互时, 你会使用PreparedStatement来设置参数。 例如,如果你有一个TIMESTAMP字段在数据库中,你可以这样设置参数: 在实际应用中,当你使用JDBC(Java Database Connectivity)与数据库交互时, 你会使用PreparedStatement来设置参数。 例如,如果你有一个TIMESTAMP字段在数据库中,你可以这样设置参数: PreparedStatement pstmt = connection.prepareStatement("INSERT INTO my_table (my_timestamp_column) VALUES (?)"); pstmt.setTimestamp(1, sqlTimestamp); pstmt.executeUpdate(); 此外,从Java 8开始,新的日期和时间API(如LocalDate, LocalTime, LocalDateTime等) 提供了更强大和灵活的功能。但是,当与数据库交互时, 你可能仍然需要将这些类型转换为java.sql.Date, java.sql.Time或java.sql.Timestamp, 除非你的JDBC驱动和数据库支持这些新的Java 8日期和时间类型。 java.sql.Date import java.sql.Date; import java.text.SimpleDateFormat; class JavaSqlDateExample { public static void test_date() { // 创建一个 java.sql.Date 实例(假设为当前日期) java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); // 创建一个 SimpleDateFormat 对象来定义输出格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 使用 SimpleDateFormat 对象将 java.sql.Date 转换为字符串 String dateString = dateFormat.format(sqlDate); // 输出转换后的字符串 //The java.sql.Date as a string is: 2024-07-05 15:27:47 //实际的结果是java.sql.Date也是有秒的 System.out.println("The java.sql.Date as a string is: " + dateString); } } java.sql.Date兼容Oracle的SYSDATE |
|
|
|
|