用的就是这些API import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar;/** 商品促销日期计算 */ public class SpecialDateDemo { public static void main(String[] args) throws ParseException{ String birth = "19860606"; // yyyyMMdd
String str = "2011-9-20"; SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); Date date = fmt.parse(str); Date spec = special(date, 3); System.out.println(fmt.format(spec));
//计算2012年的一月的第一个周末(周六)是几号? Calendar cal = new GregorianCalendar(); //cal.add(Calendar.YEAR, 1);//明年 cal.set(Calendar.YEAR, 2012); System.out.println(fmt.format(cal.getTime())); cal.set(Calendar.MONTH, Calendar.JANUARY); System.out.println(fmt.format(cal.getTime())); cal.set(Calendar.WEEK_OF_YEAR, 1);//第一个周 cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); System.out.println(fmt.format(cal.getTime())); } /** * 商品促销日期计算 输入: 商品生产日期, 和保质期月份 * 一般使用Calender类型计算(add set ) * @param create 商品生产日期 * @param months 保质期月份 * @return 返回: 商品的促销日期, 是过期前两周周的周五 */ public static Date special(Date create, int months){ Calendar cal = new GregorianCalendar(); cal.setTime(create);//转换Date类型为Calender类型进行计算 cal.add(Calendar.MONTH, months);//生产日期加保质期月数 // 结果是 过期时间, add的本质操作是增加毫秒数 cal.add(Calendar.WEEK_OF_YEAR, -2);//减少2周 //set修改时间属性, 改到周五 cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); return cal.getTime(); } }
用的就是这些API
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;/** 商品促销日期计算 */
public class SpecialDateDemo {
public static void main(String[] args)
throws ParseException{
String birth = "19860606"; // yyyyMMdd
String str = "2011-9-20";
SimpleDateFormat fmt =
new SimpleDateFormat("yyyy-MM-dd");
Date date = fmt.parse(str);
Date spec = special(date, 3);
System.out.println(fmt.format(spec));
//计算2012年的一月的第一个周末(周六)是几号?
Calendar cal = new GregorianCalendar();
//cal.add(Calendar.YEAR, 1);//明年
cal.set(Calendar.YEAR, 2012);
System.out.println(fmt.format(cal.getTime()));
cal.set(Calendar.MONTH, Calendar.JANUARY);
System.out.println(fmt.format(cal.getTime()));
cal.set(Calendar.WEEK_OF_YEAR, 1);//第一个周
cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
System.out.println(fmt.format(cal.getTime()));
}
/**
* 商品促销日期计算 输入: 商品生产日期, 和保质期月份
* 一般使用Calender类型计算(add set )
* @param create 商品生产日期
* @param months 保质期月份
* @return 返回: 商品的促销日期, 是过期前两周周的周五
*/
public static Date special(Date create, int months){
Calendar cal = new GregorianCalendar();
cal.setTime(create);//转换Date类型为Calender类型进行计算
cal.add(Calendar.MONTH, months);//生产日期加保质期月数
// 结果是 过期时间, add的本质操作是增加毫秒数
cal.add(Calendar.WEEK_OF_YEAR, -2);//减少2周
//set修改时间属性, 改到周五
cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
return cal.getTime();
}
}