如何将java.util.Date转换成java.sql.Date

其实,从类的继承关系上看,java.util.Date类是java.sql.Date类的super类。所以java.sql.Date可以当作java.util.Date来使用,只是JDK docs上强调最好理解为这两个类之间没有什么继承关系。


至于两者之间的转换,有一个很简单的方法。
因为两者都提供了一个long型的构造函数,两者通过getTime重新构造一下就行了。
即:
java.util.Date date1 = ...;
java.sql.Date date2 = ...;


date1 = new java.sql.Date(date2.getTime());
date2 = new java.util.Date(date1.getTime());


虽然java.sql.Date在JDBC中不能接受时间,只能接受日期,但只要通过long型构造函数传进去的,再弄出来也是不会丢失的。


在数据库时间建模和操纵时习惯用java.sql.Timestamp,与数据库中DateTime对应,但业务流通层,还是习惯只用java.util.Date,因为这些时间直接的转换都是一样的方便,而且这样做逻辑理解上比较直观。
 
直接转换代码:
import java.sql.*;
import java.util.*;


public class cs{
public static void main(String[] args)
    GregorianCalendar date_1=(GregorianCalendar)Calendar.getInstance();
  System.out.println(date_1.getTime());
  java.sql.Date date_2= new java.sql.Date((date_1.getTime()).getTime
     ()); 
  System.out.println(date_2);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值