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

JAVA 获取相差天数和获取一日期相差某天数后的日期(可用于计算各种纪念日)

2014-07-10 15:01 369 查看
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateDiff {

public static void main(String[] args) throws ParseException {
// 2014-8-7
getDay(args);
getDate(args);
}

// 获取一日期相差某天数后的日期
private static void getDate(String[] args) throws ParseException {
args = new String[] { "2011-11-11", "1000" };
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date begin = new Date();
if (args.length < 2) {
System.out.println("input begin date and 相差的天数");
return;
}
begin = dateFormat.parse(args[0]);
int day = Integer.parseInt(args[1]);
Calendar c1 = Calendar.getInstance();
c1.setTime(begin);
c1.add(Calendar.DAY_OF_YEAR, day);
System.out.println(dateFormat.format(c1.getTime()));

}

// 获取相差的天数,已经过去多少天
private static void getDay(String[] args) throws ParseException {
args = new String[] { "2011-11-11" };
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date begin = new Date();
if (args.length < 1) {
System.out.println("input begin date");
return;
}
begin = dateFormat.parse(args[0]);

Date end = new Date();
if (args.length >= 2) {
end = dateFormat.parse(args[1]);
}
long time = end.getTime() - begin.getTime();
int day = (int) (time / (24 * 60 * 60 * 1000));
System.out.println(day);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: