releaseDate表示食品出厂日期,day表示保质期,计算食品的过期日期,格式为yyyy-mm-dd。
日期处理类:: a、java.util.Date类:public Date() public Date(long date) public long getTime() 可实现long类型数据与Date类之间的转换 b、java.text.SimpleDateFormat类:可实现Date与String类之间的转换 c、java.util.calendar类:可以分别取得日期时间数字,这样可以进行各种日期时间的计算操作
将传入的表示出场日期的字符串通过SimpleDateFormat转换成Date类型数据;通过calendar的setTime方法将这个Date类型数据设置为calendar类对象的时间。运用calendar的get方法得到给定日历字段的值将这个值与保质期的值相加,利用calendar的set方法重新设置给calendar通过calendar的getTime方法返回calendar时间值的日期对象。通过SimpleDateFormat将日期对象转换成字符串 import java.util.Calendar; import java.util.Date; import java.security.NoSuchAlgorithmException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; public class Task { public String getDate(String releaseDate,int day){ DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance();//获取当前时间 Date d = new Date () ; try{ calendar.setTime(df.parse(releaseDate));//字符串转日期,再设置calendar的时间 }catch(ParseException e){ e.printStackTrace(); } //calendar.add(Calendar.DATE, day);//这句话可以替代下面的两行 int day1 = calendar.get(Calendar.DAY_OF_YEAR);//返回给定日历字段的值 calendar.set(Calendar.DAY_OF_YEAR, day1 + day );//将给定的日历字段设置为给定值 d= calendar.getTime();//返回表示calendar的时间值的 Date 对象 String date = df.format(d);//日期转字符串 return date; } }