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;
}
}