java中知道两个日期如何获得两个日期之间的天数 20

 我来答
simplelike
2014-09-28 · TA获得超过325个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:143万
展开全部
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test {

public static void main(String[] args) {
try {
//时间转换类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2014-1-10");
Date date2 = sdf.parse("2012-12-20");
//将转换的两个时间对象转换成Calendard对象
Calendar can1 = Calendar.getInstance();
can1.setTime(date1);
Calendar can2 = Calendar.getInstance();
can2.setTime(date2);
//拿出两个年份
int year1 = can1.get(Calendar.YEAR);
int year2 = can2.get(Calendar.YEAR);
//天数
int days = 0;
Calendar can = null;
//如果can1 < can2
//减去小的时间在这一年已经过了的天数
//加上大的时间已过的天数
if(can1.before(can2)){
days -= can1.get(Calendar.DAY_OF_YEAR);
days += can2.get(Calendar.DAY_OF_YEAR);
can = can1;
}else{
days -= can2.get(Calendar.DAY_OF_YEAR);
days += can1.get(Calendar.DAY_OF_YEAR);
can = can2;
}
for (int i = 0; i < Math.abs(year2-year1); i++) {
//获取小的时间当前年的总天数
days += can.getActualMaximum(Calendar.DAY_OF_YEAR);
//再计算下一年。
can.add(Calendar.YEAR, 1);
}
System.out.println("天数差:"+days);
} catch (ParseException e) {
e.printStackTrace();
}
}
}

Console:
天数差:386
百度网友21cb3d8
2014-09-28 · TA获得超过887个赞
知道小有建树答主
回答量:1319
采纳率:60%
帮助的人:301万
展开全部
首先把获取的字符串日期转换成Date类型(从前台页面获取的是字符串类型的日期 a,b):
Date a1 = new SimpleDateFormat("yyyy-MM-dd").parse(a);
Date b1 = new SimpleDateFormat("yyyy-MM-dd").parse(b);
//获取相减后天数
long day = (a1.getTime()-b1.getTime())/(24*60*60*1000);
希望可以帮到你。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
261667318
2014-09-28 · TA获得超过898个赞
知道小有建树答主
回答量:680
采纳率:100%
帮助的人:638万
展开全部
相隔的天数
Date d1 = new Date();
Date d2 = new Date(2013,10,23,14,15,26);

int days = (int)((d1.getTime() - d2.getTime())/86400000);

System.out.println("间隔天数:" + days);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dgddssdhh
2014-09-28 · TA获得超过768个赞
知道小有建树答主
回答量:1455
采纳率:53%
帮助的人:517万
展开全部
转化成毫秒相减
追问
我能转化成毫秒  但不知道怎么转回日期
追答
不是需要天数差么,还是需要什么?  天数差为什么还要转回日期
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式