当前位置: 技术问答>java相关
关于日期的算法!
来源: 互联网 发布时间:2015-06-13
本文导语: 请问我想得到两个系统日期相差的天数,该怎么算! | java.util.Date dDate1 = (new java.text.SimpleDateFormat("yyyy-mm-dd")).parse("2002-03-20"); java.util.Date dDate2 = (new java.text.SimpleDateFormat("yyyy-mm-dd")).parse...
请问我想得到两个系统日期相差的天数,该怎么算!
|
java.util.Date dDate1 = (new java.text.SimpleDateFormat("yyyy-mm-dd")).parse("2002-03-20");
java.util.Date dDate2 = (new java.text.SimpleDateFormat("yyyy-mm-dd")).parse("2002-03-25");
long subTempTime = dDate2.getTime()-dDate1.getTime() ;
int iTempSubLen = (int)(subTempTime/86400000) ;
out.println("2002-03-20到2002-03-25相差"+iTempSubLen+"天") ;
java.util.Date dDate2 = (new java.text.SimpleDateFormat("yyyy-mm-dd")).parse("2002-03-25");
long subTempTime = dDate2.getTime()-dDate1.getTime() ;
int iTempSubLen = (int)(subTempTime/86400000) ;
out.println("2002-03-20到2002-03-25相差"+iTempSubLen+"天") ;
|
试一下,返回天数
Calendar c1 = new GregorianCalendar();
Calendar c2 = new GregorianCalendar();
c1.set(2002,1,1);
c2.set(2002,2,1);
long l = c2.getTime().getTime() - c1.getTime().getTime();
System.out.println(l/(3600*24*1000));
设置日期时实际月份减1,如2002-01-10,则c1.set(2002,1-1,10)
Calendar c1 = new GregorianCalendar();
Calendar c2 = new GregorianCalendar();
c1.set(2002,1,1);
c2.set(2002,2,1);
long l = c2.getTime().getTime() - c1.getTime().getTime();
System.out.println(l/(3600*24*1000));
设置日期时实际月份减1,如2002-01-10,则c1.set(2002,1-1,10)