如何使用Java实现“用户从输入对话框输入两个日期,程序将判断两个日期的大小关系以及间隔天数”?
我写给你吧\x0d\x0a\x0d\x0aCalendar calendar= Calendar.getInstance(); //初始化日历对象\x0d\x0acalendar.set(Calendar.YEAR, yearOne);//将Calendar的时间设置为yearOne年\x0d\x0acalendar.set(Calendar.DATE, monthOne);\x0d\x0acalendar.set(Calendar.DATE, dayOne);//monthOne月dayOne日\x0d\x0along timeOne= calendar.getTimeInMillis();//将Calendar表示的时间转换成毫秒\x0d\x0a\x0d\x0acalendar.set(Calendar.YEAR, yearTwo);//将calendar的时间设置为yearTwo年\x0d\x0acalendar.set(Calendar.DATE, monthTwo);\x0d\x0acalendar.set(Calendar.DATE, dayTwo);//monthTwo月dayTwo日 \x0d\x0along timeTwo= calendar.getTimeInMillis();//将Calendar表示的时间转换成毫秒\x0d\x0aDate date1= new Date(timeOne);//用timeOne作参数构造date1\x0d\x0aDate date2= new Date(timeTwo);//用timeTwo作参数构造date2\x0d\x0aif(date2.equals(date1))\x0d\x0a{System.out.println(“两个日期的年、月、日完全相同”);}\x0d\x0aelse if (date2.after(date1))\x0d\x0a{System.out.println(“你输入的第二个日期大于第一个日期”);}\x0d\x0aelse if (date2.before(date1))\x0d\x0a{System.out.println(“你输入的第二个日期小于第一个日期”);}\x0d\x0along days= (timeTwo – timeOne) / (long)(24*60*60); //计算两日期相隔天数 \x0d\x0a\x0d\x0a最后这里(long)(24*60*60); 记得要cast为long,不然出来的数字很搞笑得
java中怎样判断日期处于两个日期中
Date date = new Date();
long time = date.getTime();
time越大时间越往后,不知道你用的什么类但是一般和时间有关的都可以间接得到Date类,然后可以调用getTime方法获得时间戳,也就是这里的time,你只需比较你的time是是否处于那两个日期对应的time之间,也就是判断 if(timetime1timetime2)
java日期格式转换的问题
楼主总共提出了两个问题,简单回答一下:
1.正如楼上各位给出的,用SimpleDateFormat即可对格式进行制定转换:
2.用after方法,或者提供的before()、compareTo()其实是可以进行时间的比较的,不过可能是楼主没有仔细看API中的关于Date类的详细介绍,简单介绍一下,Date类是以格林尼治时间为基准的。
这个是getYear()方法的介绍,它是要将现在的年份减去1900返回的
这个是getMonth()方法的介绍,返回的是0~11之间的,即一月为0,十二月为11:
这个是getDate()方法的介绍:
所以,如果进行时间比较,如代码中所写,需将年份减1900,月份-1来赋值,再进行比较即可。如图,after返回true,compareTo返回1.
java判断某日期 是否超过今天
一、使用Date类创建日期对象
Date date1 = new Date(2017, 5, 20);
二、通过Calendar获得当前日期
Date now;
Calendar c = Calendar.getInstance();
now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));
三、使用Date类的after()方法判断一个日期是否在另一个日期的后面
if(date1.after(now)) {
System.out.println(“超过了今天”);
}
else {
System.out.println(“没有超过今天”);
}
四、完整的Java程序
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date date1 = new Date(2017, 5, 20);
Date now;
Calendar c = Calendar.getInstance();
now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH));
if(date1.after(now)) {
System.out.println(“超过了今天”);
}
else {
System.out.println(“没有超过今天”);
}
}
}
五、运行测试
没有超过今天
java切面after是异步还是同步
异步操作。在java软件的使用介绍中可以了解到,通过该软件切面after是异步操作的。Java是一门面向对象的编程语言,不仅吸收了C加加语言的各种优点,还摒弃了C加加里难以理解的多继承、指针等概念。