java sql date转换为字符串_java.util.date 与 java.sql.date互转 及 字符串转换为日期时间格式...

本文详细介绍了如何在Java中将java.util.Date转换为java.sql.Date,包括使用PreparedStatement.setDate方法插入数据库的具体步骤,以及如何将字符串格式的日期转换为java.sql.Date。此外还探讨了java.util.Date与java.sql.Date之间的区别。
摘要由CSDN通过智能技术生成

1、将 java.util.Date 转换为 java.sql.Date java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); 2、若要插入到数据库并且相应的字段为 Date 类型 可使用 PreparedStatement.setDate(int ,java.sql.Date)方法 其中的 java.sql.Date 可以用上面的方法得到 也可以用数据库提供 TO_DATE 函数 比如 现有 ud TO_DATE(new SimpleDateFormat().format(ud,“yyyy-MM-dd HH:mm:ss“), “YYYY-MM-DD HH24:MI:SS“) 注意 java 中表示格式和数据库提供的格式的不同 sql=“update tablename set timer=to_date('“+x+“','yyyymmddhh24miss') where .“ 这里的 x 为变量为类似 :20080522131223 3、如何将“yyyy-mm-dd“格式的字符串转换为 java.sql.Date 方法1 SimpleDateFormat bartDateFormat = new SimpleDateFormat(“yyyy-MM-dd“); String dateStringToParse = “2007-7-12“; try{ java.util.Date date = bartDateFormat.parse(dateStringToParse); java.sql.Date sqlDate = new java.sql.Date(date.getTime()); System.out.println(sqlDate.getTime()); } catch (Exception ex) { System.out.println(ex.getMessage()); } 方法2 String strDate = “2002-08-09“; StringTokenizer st = new StringTokenizer(strDate, “-“); java.sql.Date date=new java.sql.Date(Integer.parseInt(st.nextToken())); java.util.Date 和 java.sql.Date 的区别 java.sql.Date,java.sql.Time 和 java.sql.Timestamp 三个都是 java.util.Date 的子类(包装类) 。 但是为什么 java.sql.Date 类型的值插入到数据库中 Date 字段中会发生数据截取呢? java.sql.Date 是为了配合 SQL DATE 而设置的数据类型。 “规范化”的 java.sql.Date 只包含年 月日信息,时分秒毫秒都会清零。格式类似:YYYY-MM-DD。当我们调用 ResultSet 的 getDate()方法来获得返回值时,java 程序会参照“规范“ 的 java.sql.Date 来格式化数据库中的 数值。因此,如果数据库中存在的非规范化部分的信息将会被劫取。 在 sun 提供的 ResultSet.java 中这样对 getDate 进行注释的: Retrieves the of the designated column in the current row of this ResultSet object as a “java.sql.Date” object in the Java programming language. 同理。如果我们把一个 java.sql.Date 值通过 PrepareStatement 的 setDate 方法存入数据库时, java 程序会对传入的 java.sql.Date 规范化,非规范化的部分将会被劫取。然而,我们 java.sql.Date 一般由 java.util.Date 转换过来,如:java.sql.Date sqlDate=new java.sql.Date(new java.util.Date().getTime()). 显然,这样转换过来的 java.sql.Date 往往不是一个规范的 java.sql.Date.要保存 java.util.Date 的精确值, 我们需要利用 java.sql.Timestamp. Calendar: Calendar calendar=Calendar.getInstance(); //获得当前时间,声明时间变量 int year=calendar.get(Calendar.YEAR); //得到年 int month=calendar.get(Calendar.MONTH); //得到月,但是,月份要加上 1 month=month+1; int date=calendar.get(Calendar.DATE); //获得日期 String today=““+year+“-“+month+“-“+date+““; 字符串转换成日期时间格式 //日期时间格式:yyyy-MM-dd hh:mm:ss String time =“1900-02-21 12:23:33“; //将字符串转换为日期和时间 SimpleDateFormat dateformat = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss“); //生成的日期和时间 Date date = dateformat .parse(time);

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值