当前位置: 技术问答>java相关
急问:如何将java.util.Date转换成java.sql.Date,来算出两个日期相差天数?
来源: 互联网 发布时间:2015-07-03
本文导语: 我将日期date1从数据库中读出. 然后求得当前日期date2=new Date(). 怎么把这两个日期相减求得相差天数,因为date1是java.sql.Date类型的;而date2是java.util.Date类型的。 或者,达到这个目的还有什么别的好方法吗? ...
我将日期date1从数据库中读出.
然后求得当前日期date2=new Date().
怎么把这两个日期相减求得相差天数,因为date1是java.sql.Date类型的;而date2是java.util.Date类型的。
或者,达到这个目的还有什么别的好方法吗?
然后求得当前日期date2=new Date().
怎么把这两个日期相减求得相差天数,因为date1是java.sql.Date类型的;而date2是java.util.Date类型的。
或者,达到这个目的还有什么别的好方法吗?
|
java.sql.Date从java.util.Date继承下来,你可以强制转换
java.sql.Date dt1;
java.util.Date dt2 =(java.util.Date) dt1;
然后进行计算
java.sql.Date dt1;
java.util.Date dt2 =(java.util.Date) dt1;
然后进行计算
|
因为java.sql.Date是继承java.util.Date的,所以你可以把java.sql.Date当作java.util.Date来使用的。
你可以将两者的getTime()相减得到的是两者向差的毫秒数,除以86400000就可以得到天数了。
你可以将两者的getTime()相减得到的是两者向差的毫秒数,除以86400000就可以得到天数了。
|
java.sql.Date 是从 java.util.Date 继承的,所以可以使用 java.util.Date 的方法。但是好像没有日期加减的方法。
你可以使用 java.util.Calendar 来进行计算
你可以使用 java.util.Calendar 来进行计算
|
private final static GregorianCalendar c1 = new GregorianCalendar();
private final static GregorianCalendar c2 = new GregorianCalendar();
public static int getDayGap(Date date1,Date date2) {
c1.setTime(date1);
c2.setTime(date2);
int year1 = c1.get(Calendar.YEAR);
int year2 = c2.get(Calendar.YEAR);
int yearday = 0;
for(int i = Math.min(year1,year2); i
private final static GregorianCalendar c2 = new GregorianCalendar();
public static int getDayGap(Date date1,Date date2) {
c1.setTime(date1);
c2.setTime(date2);
int year1 = c1.get(Calendar.YEAR);
int year2 = c2.get(Calendar.YEAR);
int yearday = 0;
for(int i = Math.min(year1,year2); i