import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestDateAdd {
public static void main(String[] args) throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(new Date()));//格式化后的当前日期
System.out.println(dateAddDay(new Date(),10));//天数加减
System.out.println(dateAddMonth(new Date(),10));//月份加减
System.out.println(isExpire("2018-01-15", 1));//过期判断
}
/**
* 对日期进行加减操作 。
* @param date 需要操作的日期
* @param addDay 日期增加或减少的天数,正数表示增加天数,负数表示减少天数
* @return 返回增加或减少后的日期字符串,格式为yyyy-MM-dd
* @createDate 2018-1-17 上午9:28:00 (创建时间)
* @author LiQ (作者)
*/
public static String dateAddDay(Date date,int addDay){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(date);
rightNow.add(Calendar.DAY_OF_YEAR, addDay);// 日期加减
return sdf.format(rightNow.getTime());
}
/**
* 对月份进行加减操作 。
* @param date 需要操作的日期
* @param addDay 月份增加或减少的月数,正数表示增加月份,负数表示减少月份
* @return 返回增加或减少后的日期字符串,格式为yyyy-MM-dd
* @createDate 2018-1-17 上午9:28:00 (创建时间)
* @author LiQ (作者)
*/
public static String dateAddMonth(Date date,int addMonth){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(date);
rightNow.add(Calendar.MONTH, addMonth);// 月份加减
return sdf.format(rightNow.getTime());
}
/**
* 判断日期是否是周六或周日。
* @param date 需要判断的日期
* @return true为周六或周日,false为非周末
* @createDate 2018-1-17 上午9:30:58 (创建时间)
* @author LiQ (作者)
*/
public static boolean isWeekend(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
if(cal.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY||cal.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY) {
return true;
}
else {
return false;
}
}
/**
* 是否过期 。
* @param date 生成日期
* @param day 保质期 天数
* @return true 不过期,false 过期
* @createDate 2018-1-17 上午9:39:14 (创建时间)
* @author LiQ (作者)
*/
public static boolean isExpire(String beginTime,int day){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
try {
String expireTimeStr = dateAddDay(sdf.parse(beginTime), day);
Date expireDate=sdf.parse(expireTimeStr);
//将当前日期格式化为yyyy-MM-dd
Date nowDate = sdf.parse(sdf.format(new Date()));
if (expireDate.before(nowDate)){
//表示expireDate小于nowDate
return true;
}else{
//反之
return false;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
日期工具类
最新推荐文章于 2024-04-18 14:56:31 发布