700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java.util.Date转换成java.sql.Date

java.util.Date转换成java.sql.Date

时间:2021-10-23 16:50:29

相关推荐

java.util.Date转换成java.sql.Date

// 获取当前的系统时间,以java.util.Date对象返回Date dateUtil = new Date();// 获取当前的系统时间,以时间戳返回long l = System.currentTimeMillis();

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

Date 的构造器可以传入 long 类型的数值,这个数值就是时间戳。

保存到数据库的 Date 类型字段中,那么在 Java 中对应的日期类型必须是 java.sql.Date 类型,java.util.Date 转换成 java.sql.Date,如下所示:

java.sql.Date dateSQL = new java.sql.Date(dateUtil.getTime());

在 JDBC 中,我们将日期注入到 SQL 语句中时,需要使用 java.sql.Date 类型的,如下面的示例代码:

private static final String insert = "insert into t_project(no,name,start_date,end_date) values(?,?,?,?)";public void add(Project project) {Connection con = null;PreparedStatement pstmt = null;con = ConnectionUtils.getConnection();try {pstmt = con.prepareStatement(insert);pstmt.setString(1, project.getNo());pstmt.setString(2, project.getName());SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// project获取到的是字符串类型的日期,需要转换成java.util.Date类型Date startDateUtil = sdf.parse(project.getStartDate());// java.util.Date类型的日期无法封装到SQL中,需要转换成java.sql.Date类型java.sql.Date startDate = new java.sql.Date(startDateUtil.getTime());Date endDateofUtil = sdf.parse(project.getEndDate());java.sql.Date endDate = new java.sql.Date(endDateofUtil.getTime());pstmt.setDate(3, startDate);pstmt.setDate(4, endDate);pstmt.execute();} catch (SQLException e) {e.printStackTrace();throw new RuntimeException(e);} catch (ParseException e) {e.printStackTrace();throw new RuntimeException(e);} finally {ConnectionUtils.close(pstmt, con);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。