工具类实战项目任务实现
输入日期格式字符串作为商品的生产日期,输入保质期(天);
计算截止到今天,该商品还有多少天会过保质期
1、控制台输入字符串转为日期格式
2、将输入日期增加保质期天数
3、取得当前系统日期,比较两个日期,如果过期输出“该商品已经过期”
4、如果没有过期,输出天数
计算日期间距方法
public static long days(Date d1, Date d2) throws ParseException {
// 计算日期间距方法
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
long daycount = (c1.getTimeInMillis() - c2.getTimeInMillis()) / (1000 * 3600 * 24);
return daycount;
}
主方法
@Test
public void try02() throws ParseException {
System.out.println("输入生产日期:");
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
System.out.println("输入保质期:");
int b = sc.nextInt();
SimpleDateFormat c = new SimpleDateFormat("yyyy-MM-dd");
Date d = c.parse(a);
Calendar d1 = Calendar.getInstance();
d1.setTime(d);
d1.add(d1.DATE, b);// 过期日期=生产日期+保质期
Calendar d2 = Calendar.getInstance();
String a2 = c.format(d2.getTime());
String a3 = c.format(d1.getTime());
System.out.println("当前日期" + a2);
System.out.println("过期日期" + a3);
if (d2.before(d1)) {
System.out.println("没有过期");
double dc = DateTest.days(d1.getTime(), d2.getTime());// 调用计算日期间距方法
System.out.println("距离过期还有" + dc + "天");
} else {
System.out.println("过期了");
double dc = DateTest.days(d2.getTime(), d1.getTime());
System.out.println("过期了" + dc + "天");
}
}
网友评论