java 日期比较工具类_Java时间日期工具类

Created by on 2019/4/17.

*/

public class WeekMonthUtil {

/**

leftDate是否在rightDate之前或相等

@param leftDate

@param rightDate

@return

*/

public static Boolean beforeOrEquals(Date leftDate, Date rightDate) {

return leftDate.before(rightDate) || leftDate.equals(rightDate);

}

/**

leftDate是否在rightDate之后或相等

@param leftDate

@param rightDate

@return

*/

public static Boolean afterOrEquals(Date leftDate, Date rightDate) {

return leftDate.after(rightDate) || leftDate.equals(rightDate);

}

/**

获取传入时间的当天0点

@param date

@return

*/

public static Date getDateZero(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.set(Calendar.HOUR_OF_DAY, 0);

calendar.set(Calendar.MINUTE, 0);

calendar.set(Calendar.SECOND, 0);

return calendar.getTime();

}

/**

获取传入时间的当天最后一秒

@param date

@return

*/

public static Date getDateLast(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(getDateZero(date));

calendar.add(Calendar.DAY_OF_MONTH, 1); // 一天后的时间

calendar.add(Calendar.SECOND, -1);

return calendar.getTime();

}

/**

格式化日期为字符串

@param date

@return

*/

public static String getDateStr(Date date, String fmt) {

SimpleDateFormat sdf = new SimpleDateFormat(fmt);

return sdf.format(date);

}

/**

格式化字符串为日期

@param date

@return

*/

public static Date getDateLast(String date, String fmt) {

SimpleDateFormat sdf = new SimpleDateFormat(fmt);

Date dateSdf = null;

try {

dateSdf = sdf.parse(date);

} catch (ParseException e) {

e.printStackTrace();

}

return dateSdf;

}

/**

获得本周一与当前日期相差的天数

@param date

@return

*/

public static int getMondayPlus(Date date) {

Calendar cd = Calendar.getInstance();

cd.setTime(date);

int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);

if (dayOfWeek == 1) {

return -6;

} else {

return 2 - dayOfWeek;

}

}

/**

获得当前周的周一

@param date

@return

*/

public static Date getCurrentMonday(Date date) {

int mondayPlus = getMondayPlus(date);

GregorianCalendar currentDate = new GregorianCalendar();

currentDate.add(GregorianCalendar.DATE, mondayPlus);

Date monday = currentDate.getTime();

return monday;

}

/**

获得当前周的周日

@param date

@return

*/

public static Date getPreviousSunday(Date date) {

int mondayPlus = getMondayPlus(date);

GregorianCalendar currentDate = new GregorianCalendar();

currentDate.add(GregorianCalendar.DATE, mondayPlus + 6);

Date monday = currentDate.getTime();

return monday;

}

/**

获得当前月的开始日期

@param date

@return

*/

public static Date getMinMonthDate(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));

return calendar.getTime();

}

/**

获得当前月的结束日期

@param date

@return

*/

public static Date getMaxMonthDate(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

return calendar.getTime();

}

/**

获取上N个月

@return

*/

public static Date getPreMonth(Date date, int n) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.MONTH, -1 * n);

return calendar.getTime();

}

/**

获取下N个月.

@return

*/

public static Date getNextMonth(Date date, int n) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.MONTH, n);

return calendar.getTime();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值