java日期比较获取指定日期相隔天的日期

日期比较

compareTo

注意:要先将日期转换为字符串类型toString()一下

// 比较最大日期与当前日期
String maxDate = "1990-01-01"
Date date = new Date();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String nowDate = format.format(date);
if (maxDate.compareTo(nowDate) > 0) {
    System.out.println("最大日期大于当前日期");
} else if(maxDate.compareTo(nowDate) < 0) {
    System.out.println("最大日期小与当前日期");
} else {
    System.out.println("最大日期等于当前日期");
}
if (maxDate.compareTo(nowDate) >= 0) {
    System.out.println("最大日期大于等于当前日期");
} 

date1.before(date2),date1.after(date2)

注意:要讲字符串转换为日期类型parse()一下

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 
Date bt=sdf.parse(beginTime); 
Date et=sdf.parse(endTime); 
if (bt.before(et)){    
    System.out.println("表示bt小于et ");
}else{
    System.out.println("表示bt大于et ");
} 

Date1.after(Date2)
//当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
//即当Date2日期比Date1小时候为true,否则为false

Date1.before(Date2)
//当Date1小于Date2时,返回TRUE,当大于等于时,返回false;

获取指定日期相隔n天的日期

获取指定日期(包含1号)的前一天

java获取指定日期的前一天,之前的一些工具类,可以正常获取某个日期的前一天,但是如果是1号的前一天,就容易出错,最后终于找到了一个合适的工具类!

/**
 * 获取指定日期的前n天
 * @author wangz
 * @param specifiedDay,n
 * @return
 */
public static String getBeforeDay(String specifiedDay,int n)  
{  
    Calendar c = Calendar.getInstance();  
    Date date = null;  
    try  
    {  
        date = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay);  
    }  
    catch (ParseException e)  
    {  
        e.printStackTrace();  
    }  
    c.setTime(date);  
    int day = c.get(Calendar.DATE);  
    c.set(Calendar.DATE, day + n);  
  
    String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());  
    return dayBefore;  
}  
上一篇:Android开发之设置应用设置全屏的两种解决方法 兼容android5.0等两种解决方法


下一篇:Date类