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

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

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();
————————————————

相关文章
|
4月前
lanqiaoOJ 日期问题
lanqiaoOJ 日期问题
52 0
|
9月前
指定月份计算最大天数
指定月份计算最大天数
|
9月前
moment常用操作(日期加减、获取月初月末、季度、年)
moment常用操作(日期加减、获取月初月末、季度、年)
2616 0
|
9月前
|
Linux C++ iOS开发
C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)
C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)
123 0
根据日期获得当天是星期几?
根据日期获得当天是星期几?
117 0
|
SQL Oracle 关系型数据库
[已解决]mysql查询一周内的数据,解决一周的起始日期是从星期日(星期天|周日|周天)开始的问题
[已解决]mysql查询一周内的数据,解决一周的起始日期是从星期日(星期天|周日|周天)开始的问题
判断月份天数
判断月份天数
67 0
1229. 日期问题
1229. 日期问题
83 0
【C#每日一题】输入任意一个日期显示出它是当年的第几天?星期几?并打印出当月的日历
作业1:输入任意一个日期显示出它是当年的第几天?星期几?并打印出当月的日历 运行结果: 上代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { .
185 0
【C#每日一题】输入任意一个日期显示出它是当年的第几天?星期几?并打印出当月的日历