日期工具,校验当年开始年份,结束年份,当月开始日期,结合素日期

简介: 日期工具,校验当年开始年份,结束年份,当月开始日期,结合素日期

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
import java.util.Date;

/*

  • 日期处理
    */
    public class DateUtil {
/****
 * 校验开始日期是否为输入日期的,月份的第一天
 */
public boolean isMonthOneDay(Date monthOneDay) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(monthOneDay);
    return calendar.get(Calendar.DAY_OF_MONTH) == 1;
}


/**
 * 获取输入开始日期的最后一天
 *
 * @return yyyy-mm-dd
 */
public boolean isMonthLastDay(Date monthLastDay) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(monthLastDay);
    return calendar.get(Calendar.DAY_OF_MONTH) == calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}

/***
 * 每年的第一天
 * @param yearOneDay
 */
public boolean isYearOneDay(Date yearOneDay) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(yearOneDay);

    int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
    if (dayOfYear == 1) {
        return true;
    }
    return false;
}

/****
 * 每年的最后一天
 */
public boolean isYearLastDay(Date yearLastDay) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String newYearLastDay = sdf.format(yearLastDay);

    //规定的每年最后一天日期为
    String substring = newYearLastDay.substring(0, 4);
    String gdLastYearDay = substring + "-" + "12-"+"31";

    if(newYearLastDay == gdLastYearDay){
        return true;
    }

    return false;
}

/***
 *开始日期、结束日期是否是同一个月
 * @param startDay
 * @param endDay
 * @return
 */
public boolean isInMonth(Date startDay, Date endDay) {
    Calendar calendar1 = Calendar.getInstance();
    calendar1.setTime(startDay);
    Calendar calendar2 = Calendar.getInstance();
    calendar2.setTime(endDay);
   /* int year1 = calendar1.get(Calendar.YEAR);
    int year2 = calendar2.get(Calendar.YEAR);
    int month1 = calendar1.get(Calendar.MONTH);
    int month2 = calendar2.get(Calendar.MONTH);*/
    return calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR) && calendar1.get(Calendar.MONTH) == calendar2.get(Calendar.MONTH);
}

/***
 * 开始日期、结束日期是否为同一年
 * @param startDay
 * @param endDay
 * @return
 */
public boolean isInYear(Date startDay, Date endDay) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    Calendar startCalendar = Calendar.getInstance();
    startCalendar.setTime(startDay);

    Calendar endCalendar = Calendar.getInstance();
    endCalendar.setTime(endDay);

    int startYearInt = startCalendar.get(Calendar.YEAR);
    int endYearInt = endCalendar.get(Calendar.YEAR);

    String startYear = sdf.format(startDay);
    String endYear =sdf.format(endDay);

    int startMonthInt = Integer.valueOf(startYear.substring(5,7));
    int endMonthInt = Integer.valueOf(endYear.substring(5,7));

    int startDayInt =  Integer.valueOf(startYear.substring(8,10));
    int endDayInt =  Integer.valueOf(endYear.substring(8,10));



    if (startYearInt == endYearInt /*&& startMonthInt==1 && endMonthInt==12 && startDayInt==1 && endDayInt == 31*/) {
        return true;
    }
    return false;
}

}

  1. 日期加一天

// 获取当前时间
Date date = new Date();
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
// 把日期往后增加一天,整数 往后推,负数往前移动
calendar.add(Calendar.DATE, 1);
// 这个时间就是日期往后推一天的结果
date = calendar.getTime();
————————————————

相关文章
|
27天前
获得月份天数
获得月份天数
38 4
|
29天前
【九度 03】两个日期之间的天数
【九度 03】两个日期之间的天数
58 0
|
28天前
lanqiaoOJ 日期问题
lanqiaoOJ 日期问题
27 0
|
6月前
指定月份计算最大天数
指定月份计算最大天数
根据日期获得当天是星期几?
根据日期获得当天是星期几?
79 0
wustojc4005求月份对应的英文名称及天数
wustojc4005求月份对应的英文名称及天数
32 0
|
JavaScript 前端开发
javascript以当前日期为准计算当月、上月、下月直接输出日期的解决方案
javascript以当前日期为准计算当月、上月、下月直接输出日期的解决方案
94 0
判断月份天数
判断月份天数
52 0
1229. 日期问题
1229. 日期问题
69 0