jdbc时间与日期类

1.数据库中的日期时间类型与Java类中日期时间的对应
日期类型用java.sql.Date
时间类型用java.sql.Time
日期/时间类型用java.sql.Timestamp
范例:在oracle数据库中通过,
select sysday from dual
获取当前时间,在通过ResultSet获取查询结果时,用:getTimestamp(),可以把年月日时分秒都取出来,调用getDate()只能取出年月日,调用getTime()只能取出时分秒。

2.尽量不要调用getString()来获取日期/时间类型的数据
调用getString()获取时间类型的数据,JDBC在内部将日期/时间转换为字符串;但是这个字符串的格式却取决于数据库导致兼容性较差。

3.如何将JDBC的日期/时间类型转换为字符串
java.sql.Timestamp timeStamp = //通过数据库访问获取到该数据
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String str = sdf.format(timeStamp);
4.select、update或insert时,如果某个字段为日期/时间类型,最好用PreparedStatement
PreparedStatement pstmt = conn.prepareStatement(“insert into tab ( begin_date ) values( ?)”);
pstmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
pstmt.execute();
5.java.sql.Timestamp如何转换为java.util.Date
java.sql.Timestamp是java.util.Date的子类,不需要做任何转换直接赋值即可:

java.sql.Timestamp ts; 
 java.util.Date utilDate; 
 utilDate = ts;
  1. java.util.Date转换为java.sql.Timestamp
    java.sql.Timestamp ts;
    java.util.Date utilDate;
    ts.setTime(utilDate.getTime());
    7.mysql数据库中的日期时间
    NOW()、SYSDATE()函数以`'YYYY-MM-DD HH:MM:SS’返回当前的日期时间,可以直接存到DATETIME字段中。
    比如:select NOW(),SYSDATE();
    CURDATE()、CURRENT_DATE以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。
    比如:SELECT CURDATE(),CURRENT_DATE;
    CURTIME()、CURRENT_TIME以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。
    比如:SELECT CURRENT_TIME(),CURRENT_TIME;
发布了11 篇原创文章 · 获赞 2 · 访问量 334

猜你喜欢

转载自blog.csdn.net/zds18205657013/article/details/103757155
今日推荐