小弟菜鸟,请教关于日期计算的问题

zhouyun 2005-01-09 02:31:52
就是计算两个日期的时间差是多少天,比如2004-09-28到2005-02-16相差多少天,请赐教
...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxz7531 2005-01-09
  • 打赏
  • 举报
回复
public static void main(String[] args) {
long num=(getCaldate("2005-2-16").getTimeInMillis()
-getCaldate("2004-9-28").getTimeInMillis())/1000/3600/24;
System.out.println(num);
}
public static Calendar getCaldate(String datestr){
String s[]=datestr.split("-");
Calendar d=Calendar.getInstance();
d.clear();
d.set(Integer.parseInt(s[0]),
Integer.parseInt(s[1])-1,
Integer.parseInt(s[2]),0,0,0);
return d;
}
treeroot 2005-01-09
  • 打赏
  • 举报
回复
static int getDayBetween(Date d1,Date d2){
Calendar before=Calendar.getInstance();
Calendar after=Calendar.getInstance();
if(d1.before(d2)){
before.setTime(d1);
after.setTime(d2);
}
else{
before.setTime(d2);
after.setTime(d1);
}
int days=0;

int startDay=before.get(Calendar.DAY_OF_YEAR);
int endDay=after.get(Calendar.DAY_OF_YEAR);

int startYear=before.get(Calendar.YEAR);
int endYear=after.get(Calendar.YEAR);
before.clear();
before.set(startYear,0,1);

while(startYear!=endYear){
before.set(startYear++,Calendar.DECEMBER,31);
days+=before.get(Calendar.DAY_OF_YEAR);
}
return days+endDay-startDay;
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧