1. java怎样判断下面的日期的先后
Java判段两个日期的先后,方法如下:
importjava.util.Date;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;publicclassTestD{
publicstaticvoidmain(String[]args){
Stringdate1="2017-07-1913:02:58";
Stringdate2="2017-07-1914:02:58";
//将字符串格式的日期格式化
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss");
try{
//将日期转成Date对象作比较
DatefomatDate1=sdf.parse(date1);
DatefomatDate2=sdf.parse(date2);
//比较两个日期
intresult=fomatDate2.compareTo(fomatDate1);
//如果日期相等返回0
if(result==0){
System.out.println("两个时间相等");
}elseif(result<0){
//小于0,参数date1就是在date2之后
System.out.println("date1大于date2");
}else{
//大于0,参数date1就是在date2之前
System.out.println("date1小于date2");
}
}catch(ParseExceptione){
e.printStackTrace();
}
}
}
结果:
date1小于date2
2. java中怎么判断2个日期是否在同一个月
importjava.util.Calendar;
importjava.util.Date;
publicclassTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//表示我也没什么用过日历类去处理时间,大概思路就是去判断是否同一年and是否同一月
System.out.println(equals(newDate(),newDate(newDate().getTime()+1500000000l)));
System.out.println(equals(newDate(),newDate(newDate().getTime()+3000000000l)));
}
publicstaticbooleanequals(Datedate1,Datedate2){
Calendarcalendar1=Calendar.getInstance();
calendar1.setTime(date1);
Calendarcalendar2=Calendar.getInstance();
calendar2.setTime(date2);
intyear1=calendar1.get(Calendar.YEAR);
intyear2=calendar2.get(Calendar.YEAR);
intmonth1=calendar1.get(Calendar.MONTH);
intmonth2=calendar2.get(Calendar.MONTH);
System.out.println(year1+""+month1);
System.out.println(year2+""+month2);
returncalendar1.get(Calendar.YEAR)==calendar2.get(Calendar.YEAR)&&calendar1.get(Calendar.MONTH)==calendar2.get(Calendar.MONTH);
}
}
3. java中如何计算出两个日期之间相差多少天
思路就是根据它们相差的毫秒数除以每天的毫秒数(60*60*24*1000),代码如下:
public static void main(String[] args) throws ParseException {
String date1="1987-01-01";
String date2="2010-01-01";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date d1=sdf.parse(date1);
Date d2=sdf.parse(date2);
long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);
System.out.println("1987-01-01 与 2010-01-01 相隔 "+daysBetween+" 天");
}
运行结果如下:
(3)java判断两个日期扩展阅读:
Java使用以下三种方法来比较两个日期:
1、使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2、使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
3、使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行
例如:
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。
注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。
以上实例编译运行结果如下:
当前时间为: 2018-09-14 10:16:34
菜鸟教程-Java 日期时间
4. 如何用java比较两个时间或日期的大小
首先
按照一定的格式输入两个日期的字符串
然后用simpledateformat类转换成date实例date1,
date2
然后
calendar
cal1
=
calendar.getinstance();
calendar
cal2
=
calendar.getinstance();
cal1.settime(date1);
cal2.settime(date2);
这样你就有了两个表示所输入日期的calendar实例了
calendar可以做很多事
比如用cal1.after(cal2)或者cal1.before(cal2)或者cal1.equals(cal2)或者cal1.compareto(cal2)来比较两个日期时间先后
比如cal.get(calendar.year)可以得到表示该日期年份的整数
同理cal.get(calendar.month)可以得到月份
甚至可以用cal.gettimeinmillis()得到表示该日期的毫秒数
有了这些方法,简单的计算之后就可以得到需要的相差的信息
如果楼主是来求现成的源代码的-
-
我没有
5. java 怎么判断两个日期是否相等
方法一:把日期转成string类型的,然后compare;
比如:
string time1,time2;
time1.compareTo(time2)>0说明time1是time2之后的时间
方法二:date的gettime进行比较
下面的代码细细看看,您应该能看懂
publicstaticbooleancompare_date(DateDATE1,DateDATE2){
Datedt1=DATE1;
Datedt2=DATE2;
if(dt1.getTime()>dt2.getTime()){
System.out.println("dt1大于dt2");
returnfalse;
}elseif(dt1.getTime()<dt2.getTime()){
System.out.println("dt1小于dt2");
returntrue;
}else{
returnfalse;
}
}
6. 如何用java代码比较两个日期
首先 按照一定的格式输入两个日期的字符串
然后用SimpleDateFormat类转换成Date实例date1, date2
然后
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
这样你就有了两个表示所输入日期的Calendar实例了
Calendar可以做很多事
比如用cal1.after(cal2)或者cal1.before(cal2)或者cal1.equals(cal2)或者cal1.compareTo(cal2)来比较两个日期时间先后
比如cal.get(Calendar.YEAR)可以得到表示该日期年份的整数
同理cal.get(Calendar.MONTH)可以得到月份
甚至可以用cal.getTimeInMillis()得到表示该日期的毫秒数
有了这些方法,简单的计算之后就可以得到需要的相差的信息
如果楼主是来求现成的源代码的- - 我没有
7. 用java写任意选择两个日期用程序判断他们的先后顺序。大神求指教
public class Test {
public static void main(String s[]) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr1 = "2014-05-14 11:11:11";
String dateStr2 = "2014-05-14 12:12:12";
Date date1 = sdf.parse(dateStr1);
Date date2 = sdf.parse(dateStr2);
if(date1.getTime()-date2.getTime()>0) {
System.out.println("dateStr2 比 dateStr1 早");
}else{
System.out.println("dateStr1 比 dateStr2 早");
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
8. java 判断两个日期相差多少天
publicstaticlongdaysBetween(Dated1,Dated2){if((d1==null)||(d2==null)){return0;}longld1=d1.getTime();longld2=d2.getTime();longdays=(long)((ld2-ld1)/86400000);returndays;}
9. java 判断两个日期是同一天
最简单的方式就是把两个日期都格式化成年月日的字符串日期,然后对比两个字符串是否相等,如果相等就是同一天,否则就不是了。
10. java如何判断两个日期字符串相差多少天
没有这样的函数,但是你自己可以封装一个这样的函数。
一般来说,并不计算两个日期相差的月数以及年数,因为月的天数以及年的天数并不是固定的,所以很多倒计时最多计算到天。
函数体:
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
String a="20140301";
String b = "20140225";
Long c = sf.parse(b).getTime()-sf.parse(a).getTime();
long d = c/1000/60/60/24;//天
System.out.println(d+"天");
只要将a,b当做参数传过去,将天数返回就可以