您的位置:首页 > 编程语言 > Java开发

Java 日期比较以及得到前后一天

2015-07-08 17:19 671 查看
/**
* 比较两个指定时间,结果为0 表示相同,< 0 则表示第一个时间早于第二个时间
* @param firstDay
* @param secondDay
* @return
*/
public static int compareto(String firstDay,String secondDay)
{
Calendar c = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
Date date = null;
Date date2 = null;
try
{
date = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(firstDay);
date2 = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(secondDay);
}
catch (ParseException e)
{
e.printStackTrace();
}
c.setTime(date);
c2.setTime(date2);
return c.compareTo(c2);
}


/**
* 获得指定日期的前n天
*
* @param specifiedDay yy-MM-dd
* @return
* @throws Exception
*/
public static String getBeforeDay(String specifiedDay,int n)
{
Calendar c = Calendar.getInstance();
Date date = null;
try
{
date = new SimpleDateFormat(DATE_FORMAT_PATTERN).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(DATE_FORMAT_PATTERN).format(c.getTime());
return dayBefore;
}


/**
* 获得指定日期的后一天
*
* @param specifiedDay yy-MM-dd
* @return
*/
public static String getAfterDay(String specifiedDay,int n)
{
Calendar c = Calendar.getInstance();
Date date = null;
try
{
date = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(specifiedDay);
}
catch (ParseException e)
{
e.printStackTrace();
}
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day + n);

String dayAfter = new SimpleDateFormat(DATE_FORMAT_PATTERN).format(c.getTime());
return dayAfter;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: