package demo; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Scanner; /** * @author : htf 输入日格式字符串作为商品的生产日期,输入保质期(天) 到目前为止,这种商品还有多少天会过保质期? 1.控制台输入字符串转为日格式 2.增加输入日期的保质期天数 3.比较当前的系统日期,如果过期输出商品已过期 */ public class Test1 { public static void main(String[] args) throws ParseException { System.out.println("请输入生产日期(yyyy-MM-dd)"); Scanner sc=new Scanner(System.in); String d=sc.next() System.out.println("请输入保质期(天)"); int day=sc.nextInt();//获取时间 SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyy-MM-dd");///转换格式 Date date =sDateFormat.parse(d);///键盘获得的时间字符转换为时间 Calendar c =Calendar.getInstance(); c.setTime(date);//设定时间 c.add(Calendar.DATE, day);//设定保质期 String str = sDateFormat.format(c.getTime() System.out.println("今日为:" sDateFormat.format(new Date()) //与想加天数后的毫秒数相比,当前日期的毫秒数,若小于想加天数,商品已过期 if(c.getTimeInMillis()<new Date().getTime()) { System.out.println("已经过期了"); }else { //想加后天数毫秒值减去当前时间毫秒数 long g=c.getTimeInMillis()-new Date().getTime(); long t=g/(3600*24*1000);//格式天数 System.out.println("商品还有" t "天过期"); } } }