编写一个Java应用程序,用户从输入对话框输入两个日期,程序将判断两个日期的大小关系以及间隔天数

mportjava.util.*;importjavax.swing.JOptionPane;punlicclassDateExample{publicstaticvoi... mport java.util.*;
import javax.swing.JOptionPane;
punlic class DateExample
{public static void main(String arg[])
{String str=JOptionPane.showInputDialog("输入第一个日期的年份:");
int yearOne=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该年的月份:");
int monthOne=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该月份的日期:");
int dayOne=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入输入第二个日期的年份:");
int yearTwo=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该年的月份:");
int monthTwo=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该月份的日期:");
int dayTwo=Integer.parseInt(str);
Canlendar calendar= //初始化日历对象
//将Calendar的时间设置为yearOne年
//monthOne月dayOne日
long timeOne= //将Calendar表示的时间转换成毫秒
//将calendar的时间设置为yearTwo年
//monthTwo月dayTwo日
long timeTwo= //将Calendar表示的时间转换成毫秒
Date date1= //用timeOne作参数构造date1
Date date2= //用timeTwo作参数构造date2
if(date2.equals(date1))
{System.out.println("两个日期的年、月、日完全相同");}
else if (date2.after(date1))
{System.out.println("你输入的第二个日期大于第一个日期");}
else if (date2.before(date1))
{System.out.println("你输入的第二个日期小于第一个日期");}
long days= //计算两日期相隔天数
System.out.println(yearOne+"年"+monthOne+"月"+"dayOne"日和"+yearTwo+"年"+monthTwo+"月"+dayTwo+"相隔"+days+"天");
}
}

请高手帮帮忙呀,急用!!!!非常感谢!!!!
帮忙补充一下 //前的内容吧,谢谢
展开
 我来答
anchen0208
2010-12-29 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:22万
展开全部
public static int getDaysBetween (String beginDate, String endDate) throws ParseException
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date bDate = format.parse(beginDate);
Date eDate = format.parse(endDate);
Calendar d1 = new GregorianCalendar();
d1.setTime(bDate);
Calendar d2 = new GregorianCalendar();
d2.setTime(eDate);
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2)
{
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}
flyingFish211
推荐于2018-01-08 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
我写给你吧

Calendar calendar= Calendar.getInstance(); //初始化日历对象
calendar.set(Calendar.YEAR, yearOne);//将Calendar的时间设置为yearOne年
calendar.set(Calendar.DATE, monthOne);
calendar.set(Calendar.DATE, dayOne);//monthOne月dayOne日
long timeOne= calendar.getTimeInMillis();//将Calendar表示的时间转换成毫秒

calendar.set(Calendar.YEAR, yearTwo);//将calendar的时间设置为yearTwo年
calendar.set(Calendar.DATE, monthTwo);
calendar.set(Calendar.DATE, dayTwo);//monthTwo月dayTwo日
long timeTwo= calendar.getTimeInMillis();//将Calendar表示的时间转换成毫秒
Date date1= new Date(timeOne);//用timeOne作参数构造date1
Date date2= new Date(timeTwo);//用timeTwo作参数构造date2
if(date2.equals(date1))
{System.out.println("两个日期的年、月、日完全相同");}
else if (date2.after(date1))
{System.out.println("你输入的第二个日期大于第一个日期");}
else if (date2.before(date1))
{System.out.println("你输入的第二个日期小于第一个日期");}
long days= (timeTwo - timeOne) / (long)(24*60*60); //计算两日期相隔天数

最后这里(long)(24*60*60); 记得要cast为long,不然出来的数字很搞笑得
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式