|
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
|
|
|
|
|
|
|
|