1. 程式人生 > >根據生產日期和保質期計算食品過期日期

根據生產日期和保質期計算食品過期日期

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類:可以分別取得日期時間數字,這樣可以進行各種日期時間的計算操作


 

  1. 將傳入的表示出場日期的字串通過SimpleDateFormat轉換成Date型別資料;
  2. 通過calendar的setTime方法將這個Date型別資料設定為calendar類物件的時間。
  3. 運用calendar的get方法得到給定日曆欄位的值
  4. 將這個值與保質期的值相加,利用calendar的set方法重新設定給calendar
  5. 通過calendar的getTime方法返回calendar時間值的日期物件。
  6. 通過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;
	}		
}