Java中的日期类(Date)日历类(Calendar)及其与String的转换综合练习——输入生产日期计算保质期及促销日

版权声明:转载注明来源。Keep Learning and Coding. https://blog.csdn.net/a771581211/article/details/88379855
package day04;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

/**
 * 计算促销日期
 * 输入一个生产日期,一个保质期的天数
 * 促销日为该商品过期日前两周的周三
 * @author kaixu
 *
 */
public class Test {
	public static void main(String[] args) throws ParseException{
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入生产日期:(yyyy-MM-hh)");
		String dateStr = scanner.nextLine();
		System.out.println("请输入保质期的天数:");
		int days = Integer.parseInt(scanner.nextLine());
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		//String->Date
		Date date = sdf.parse(dateStr);
		//Date->Calendar
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		//计算过期日
		calendar.add(Calendar.DAY_OF_YEAR, days);
		//计算过期日的两周前
		calendar.add(Calendar.DAY_OF_YEAR, -14);
		//设置为当周的周三
		calendar.set(Calendar.DAY_OF_WEEK, 4);
		//Calendar->Date
		date = calendar.getTime();
		//Date->String
		dateStr = sdf.format(date);
		System.out.println("促销日为:"+dateStr);
	}
}

猜你喜欢

转载自blog.csdn.net/a771581211/article/details/88379855