日期工具类

日期工具类

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.HashedMap;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalAdjusters;
import java.time.temporal.TemporalField;
import java.time.temporal.WeekFields;
import java.util.
;

public class DateAndLocalDateUtil {

private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

private static SimpleDateFormat sdf2 = new SimpleDateFormat("MM-dd");

/**
 * localDate转Date
 */
public static Date localDate2Date(LocalDate localDate) {
    ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
    Instant instant1 = zonedDateTime.toInstant();
    Date from = Date.from(instant1);
    return from;
}

/**
 * LocalDateTime转换为Date
 *
 * @param localDateTime
 */
public static Date localDateTime2Date(LocalDateTime localDateTime) {
    ZoneId zoneId = ZoneId.systemDefault();
    ZonedDateTime zdt = localDateTime.atZone(zoneId);//Combines this date-time with a time-zone to create a  ZonedDateTime.
    Date date = Date.from(zdt.toInstant());
    return date;
}


/**
 * Date 转 localDate
 */
public static LocalDate date2LocalDate(Date date) {
    Instant instant = date.toInstant();
    ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
    LocalDate localDate = zdt.toLocalDate();
    return localDate;
}

//获取月第一天
public static Date getStartDayOfMonth(String date) {
    LocalDate now = LocalDate.parse(date);
    return getStartDayOfMonth(now);
}

public static Date getStartDayOfMonth(LocalDate date) {
    LocalDate now = date.with(TemporalAdjusters.firstDayOfMonth());
    return localDate2Date(now);
}

public static Date getStartDayOfMonth() {
    return getStartDayOfMonth(LocalDate.now());
}


//获取月最后一天
public static Date getEndDayOfMonth(String date) {
    LocalDate localDate = LocalDate.parse(date);
    return getEndDayOfMonth(localDate);
}

public static Date getEndDayOfMonth(Date date) {
    return getEndDayOfMonth(date2LocalDate(date));
}

public static Date getEndDayOfMonth(LocalDate date) {
    LocalDate now = date.with(TemporalAdjusters.lastDayOfMonth());
    Date.from(now.atStartOfDay(ZoneId.systemDefault()).plusDays(1L).minusNanos(1L).toInstant());
    return localDate2Date(now);
}

public static Date getEndDayOfMonth() {
    return getEndDayOfMonth(LocalDate.now());
}


//获取周第一天
public static Date getStartDayOfWeek(String date) {
    LocalDate now = LocalDate.parse(date);
    return getStartDayOfWeek(now);
}

public static Date getStartDayOfWeek(TemporalAccessor date) {
    TemporalField fieldISO = WeekFields.of(Locale.CHINA).dayOfWeek();
    LocalDate localDate = LocalDate.from(date);
    localDate = localDate.with(fieldISO, 1);
    return localDate2Date(localDate);
}

//获取周最后一天
public static Date getEndDayOfWeek(String date) {
    LocalDate localDate = LocalDate.parse(date);
    return getEndDayOfWeek(localDate);
}

public static Date getEndDayOfWeek(TemporalAccessor date) {
    TemporalField fieldISO = WeekFields.of(Locale.CHINA).dayOfWeek();
    LocalDate localDate = LocalDate.from(date);
    localDate = localDate.with(fieldISO, 7);
    return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).plusDays(1L).minusNanos(1L).toInstant());
}

//一天的开始
public static LocalDateTime getStartOfDay(LocalDate date) {
    LocalDateTime time = LocalDateTime.of(date, LocalTime.MIN);
    return time;
}

public static LocalDateTime getStartOfDay() {
    return getStartOfDay(LocalDate.now());
}

/**
 * 一天的结束
 */
public static LocalDateTime getEndOfDay(LocalDate date) {
    LocalDateTime time = LocalDateTime.of(date, LocalTime.MAX);
    return time;
}

public static LocalDateTime getEndOfDay() {
    return getEndOfDay(LocalDate.now());
}


/**
 * 获取本月第一天
 *
 * @return
 */
public static Date getMinMonthdate() {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));

    return calendar.getTime();
}

/**
 * 获取本月最后一天
 *
 * @return
 */
public static Date getMaxMonthdate() {
    Calendar calendar2 = Calendar.getInstance();
    calendar2.setTime(new Date());
    calendar2.set(Calendar.DAY_OF_MONTH, calendar2.getActualMaximum(Calendar.DAY_OF_MONTH));
    return calendar2.getTime();
}

/**
 * 获得近一年的开始时间和结束时间
 *
 * @return
 */
public static Map<String, String> getYearTRange() {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Map<String, String> condition = new HashedMap();
    Calendar calendar = Calendar.getInstance();
    calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    calendar.set(Calendar.HOUR_OF_DAY, 24);
    condition.put("endDate", df.format(calendar.getTime()));
    calendar.set(Calendar.HOUR_OF_DAY, -8640);
    condition.put("startDate", df.format(calendar.getTime()));
    return condition;
}

/**
 * 获取最近一年的年份月份
 *
 * @return
 */
public static List<String> getInitMonthMapWithZero() {
    List<String> list = new ArrayList<String>();
    Calendar c = Calendar.getInstance();
    for (int i = 0; i < 12; i++) {
        int k = c.get(Calendar.YEAR);
        int j = c.get(Calendar.MONTH) + 1 - i;
        String date = "";
        if (j >= 1) {
            date = k + "-" + (j >= 10 ? "" : "0") + j;
        } else {
            int p = 11 - i;//剩余循环次数
            int m = c.get(Calendar.YEAR) - 1;
            int n = c.get(Calendar.MONTH) + 2 + p;
            date = m + "-" + (n >= 10 ? "" : "0") + n;
        }
        list.add(date);
    }
    return list;
}

/**
 * 获取今年一年的年份月份
 *
 * @return
 */
public static List<String> getInitMonthsMapWithZero() {
    List<String> list = new ArrayList<String>();
    Calendar c = Calendar.getInstance();
    for (int i = c.get(Calendar.MONTH) ; i >= 0; i--) {
        int k = c.get(Calendar.YEAR);
        int j = c.get(Calendar.MONTH) + 1 - i;
        String date = "";
        if (j >= 1) {
            date = k + "-" + (j >= 10 ? "" : "0") + j;
        }
        list.add(date);
    }

// for (int i = 0; i < (c.get(Calendar.MONTH) + 1); i++) {
// int k = c.get(Calendar.YEAR);
// int j = c.get(Calendar.MONTH) + 1 - i;
// String date = “”;
// if (j >= 1) {
// date = k + “-” + (j >= 10 ? “” : “0”) + j;
// }
// list.add(date);
// }
return list;
}

/**
 * 获取最近30天的日期 list
 *
 * @return
 */
public static List<String> get30DayList() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 29; i >= 0; i--) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
/**
 * 获取最近7天的日期 list正序
 *
 * @return
 */
public static List<String> get7DayListDesc() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 6; i >= 0; i--) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
/**
 * 获取最近15天的日期 list
 *
 * @return
 */
public static List<String> get15DayListDesc() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 14; i >= 0; i--) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

/**
 * 获取前30天的日期 list
 *
 * @return
 */
public static List<String> get30Day() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        calc.setTime(new Date());
        calc.add(calc.DATE, -29);
        Date minDate = calc.getTime();
        list.add(sdf.format(minDate));
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}


/**
 * 获取最近五个月
 *
 * @return
 */
public static List<String> getFiveMonthMap() {
    List<String> list = new ArrayList<String>();
    Calendar c = Calendar.getInstance();
    for (int i = 0; i < 5; i++) {
        int k = c.get(Calendar.YEAR);
        int j = c.get(Calendar.MONTH) + 1 - i;
        String date = "";
        if (j >= 1) {
            date = k + "-" + (j >= 10 ? "" : "0") + j;
        } else {
            int p = 11 - i;//剩余循环次数
            int m = c.get(Calendar.YEAR) - 1;
            int n = c.get(Calendar.MONTH) + 2 + p;
            date = m + "-" + (n >= 10 ? "" : "0") + n;
        }
        list.add(date);
    }
    return list;
}

/**
 * 获取最近六个月
 *
 * @return
 */
public static List<String> getSixMonthMap() {
    List<String> list = new ArrayList<String>();
    Calendar c = Calendar.getInstance();
    for (int i = 0; i < 6; i++) {
        int k = c.get(Calendar.YEAR);
        int j = c.get(Calendar.MONTH) + 1 - i;
        String date = "";
        if (j >= 1) {
            date = k + "-" + (j >= 10 ? "" : "0") + j;
        } else {
            int p = 11 - i;//剩余循环次数
            int m = c.get(Calendar.YEAR) - 1;
            int n = c.get(Calendar.MONTH) + 2 + p;
            date = m + "-" + (n >= 10 ? "" : "0") + n;
        }
        list.add(date);
    }
    return list;
}

public static List<String> getTwelveMonthMap() {
    List<String> list = new ArrayList<String>();
    Calendar c = Calendar.getInstance();
    for (int i = 0; i < 12; i++) {
        int k = c.get(Calendar.YEAR);
        int j = c.get(Calendar.MONTH) + 1 - i;
        String date = "";
        if (j >= 1) {
            date = k + "-" + (j >= 10 ? "" : "0") + j;
        } else {
            int p = 11 - i;//剩余循环次数
            int m = c.get(Calendar.YEAR) - 1;
            int n = c.get(Calendar.MONTH) + 2 + p;
            date = m + "-" + (n >= 10 ? "" : "0") + n;
        }
        list.add(date);
    }
    return list;
}


/**
 * 根据年月 获取月份最后一天
 *
 * @param yearMonth
 * @return
 */
public static String getLastDayOfMonth(String yearMonth) {
    int year = Integer.parseInt(yearMonth.split("-")[0]);  //年
    int month = Integer.parseInt(yearMonth.split("-")[1]); //月
    Calendar cal = Calendar.getInstance();
    // 设置年份
    cal.set(Calendar.YEAR, year);
    // 设置月份
    // cal.set(Calendar.MONTH, month - 1);
    cal.set(Calendar.MONTH, month); //设置当前月的上一个月
    // 获取某月最大天数
    //int lastDay = cal.getActualMaximum(Calendar.DATE);
    int lastDay = cal.getMinimum(Calendar.DATE); //获取月份中的最小值,即第一天
    // 设置日历中月份的最大天数
    //cal.set(Calendar.DAY_OF_MONTH, lastDay);
    cal.set(Calendar.DAY_OF_MONTH, lastDay - 1); //上月的第一天减去1就是当月的最后一天
    // 格式化日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    return sdf.format(cal.getTime());
}

/**
 * 根据年月 获取月份第一天
 *
 * @param yearMonth
 * @return
 */
public static String getFirstDayOfMonth(String yearMonth) {
    int year = Integer.parseInt(yearMonth.split("-")[0]);  //年
    int month = Integer.parseInt(yearMonth.split("-")[1]); //月
    Calendar cal = Calendar.getInstance();
    // 设置年份
    cal.set(Calendar.YEAR, year);
    // 设置月份
    // cal.set(Calendar.MONTH, month - 1);
    cal.set(Calendar.MONTH, month - 1); //设置当前月的上一个月
    // 获取某月最大天数
    //int lastDay = cal.getActualMaximum(Calendar.DATE);
    int lastDay = cal.getMinimum(Calendar.DATE); //获取月份中的最小值,即第一天
    // 设置日历中月份的最大天数
    //cal.set(Calendar.DAY_OF_MONTH, lastDay);
    cal.set(Calendar.DAY_OF_MONTH, lastDay); //上月的第一天减去1就是当月的最后一天
    // 格式化日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    return sdf.format(cal.getTime());
}

/**
 * 获取月份第一天 通过int类型的month
 *
 * @param month
 * @return
 */
public static String getFirstDayOfMonth(int month) {
    Calendar cal = Calendar.getInstance();
    // 设置月份
    cal.set(Calendar.MONTH, month - 1);
    // 获取某月最小天数
    int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
    // 设置日历中月份的最小天数
    cal.set(Calendar.DAY_OF_MONTH, firstDay);
    // 格式化日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String firstDayOfMonth = sdf.format(cal.getTime()) + " 00:00:00";
    return firstDayOfMonth;
}

/**
 * 获得该月最后一天 通过int类型的month
 *
 * @param month
 * @param month
 * @return
 */
public static String getLastDayOfMonth(int month) {
    Calendar cal = Calendar.getInstance();
    // 设置月份
    cal.set(Calendar.MONTH, month - 1);
    // 获取某月最大天数
    int lastDay = 0;
    //2月的平年瑞年天数
    if (month == 2) {
        lastDay = cal.getLeastMaximum(Calendar.DAY_OF_MONTH);
    } else {
        lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
    }
    // 设置日历中月份的最大天数
    cal.set(Calendar.DAY_OF_MONTH, lastDay);
    // 格式化日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String lastDayOfMonth = sdf.format(cal.getTime()) + " 23:59:59";
    return lastDayOfMonth;
}

/**
 * 获得某个月每一天 通过int类型的month
 *
 * @param
 * @param
 * @return
 */
public static List<String> getLastMonthDayOfMonth(String yearMonth) {
    int year = Integer.parseInt(yearMonth.split("-")[0]);  //年
    int month = Integer.parseInt(yearMonth.split("-")[1]); //月
    SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd");
    Date date = new Date();
    String yearMonthDate = sdfYMD.format(date);
    String[] yearMonthDateSplit = yearMonthDate.split("-");
    int newYear = Integer.parseInt(yearMonthDateSplit[0]);
    int newMonth = Integer.parseInt(yearMonthDateSplit[1]);
    int newDate = Integer.parseInt(yearMonthDateSplit[2]);
    List<String> list = new ArrayList<>();
    if (year == newYear && month == newMonth) {
        //获取当月的天数
        try {
            Calendar calc = Calendar.getInstance();
            for (int i = newDate-1; i >= 0; i--) {
                calc.setTime(new Date());
                calc.add(calc.DATE, -i);
                Date minDate = calc.getTime();
                list.add(sdf.format(minDate));
            }
            return list;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }else {
        SimpleDateFormat sdfYM = new SimpleDateFormat("yyyy-MM");
        try {
            Date yearMonthD = sdfYM.parse(yearMonth);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(yearMonthD);
            int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
            calendar.add(calendar.DATE, -1);
            for (int i=0;i<actualMaximum;i++){
                calendar.add(calendar.DATE, 1);
                Date minDate = calendar.getTime();
                list.add(sdf.format(minDate));
            }

// for (int i = actualMaximum-1; i >= 0; i–) {
// // calendar.setTime(new Date());
// calendar.add(calendar.DATE, -i);
// Date minDate = calendar.getTime();
// list.add(sdf.format(minDate));
// }
return list;
} catch (ParseException e) {
e.printStackTrace();
}
}

    return null;
}


/**
 * 获取两个时间节点之间的月份列表
 **/
public static List<String> getMonthBetween(String minDate, String maxDate) {
    ArrayList<String> result = new ArrayList<String>();
    try {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月

        Calendar min = Calendar.getInstance();
        Calendar max = Calendar.getInstance();
        min.setTime(sdf.parse(minDate));
        min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);

        max.setTime(sdf.parse(maxDate));
        max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2);

        Calendar curr = min;
        while (curr.before(max)) {
            result.add(sdf.format(curr.getTime()));
            curr.add(Calendar.MONTH, 1);
        }
    } catch (ParseException e) {
        e.printStackTrace();
    }

    return result;
}

/**
 * 获取最近31天的日期 hashmap
 *
 * @return
 */
public static Map<String, String> get31DayMap() {
    try {
        Calendar calc = Calendar.getInstance();
        Map<String, String> bloodMap = new HashMap<String, String>();
        for (int i = 0; i < 31; i++) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            bloodMap.put(sdf.format(minDate), sdf.format(minDate));
        }
        return bloodMap;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}


/**
 * 获取最近31天的日期 list
 *
 * @return
 */
public static List<String> get31DayList() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 31; i++) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

/**
 * 获取最近7天的日期 list
 *
 * @return
 */
public static List<String> get7DayList() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 7; i++) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

/**
 * 获取最近15天的日期 list
 *
 * @return
 */
public static List<String> get15DayList() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 15; i++) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
/**
 * 获取最近30天的日期 list
 *
 * @return
 */
public static List<String> get30sDayList() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 30; i++) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}


/**
 * 获取最近90天的日期 list
 *
 * @return
 */
public static List<String> get90DayList() {
    try {
        Calendar calc = Calendar.getInstance();
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 90; i++) {
            calc.setTime(new Date());
            calc.add(calc.DATE, -i);
            Date minDate = calc.getTime();
            list.add(sdf.format(minDate));
        }
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

public static List<String> getOneMonthList() {
    Calendar begin = Calendar.getInstance();// 得到一个Calendar的实例
    begin.setTime(new Date()); // 设置时间为当前时间
    begin.add(Calendar.MONTH, -1);// 月份减1
    begin.add(Calendar.DATE, +1);// 日期加1

    Calendar end = Calendar.getInstance();
    Long startTime = begin.getTimeInMillis();
    Long endTime = end.getTimeInMillis();
    Long oneDay = 1000 * 60 * 60 * 24l;// 一天的时间转化为ms
    List dates = new ArrayList<>();
    Long time = startTime;
    int i = 0;
    while (time <= endTime) {
        Date d = new Date(time);
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        dates.add(i, df.format(d));
        i++;
        time += oneDay;
    }
    return dates;
}

/**
 * 获取某年第一天日期
 *
 * @param year 年份
 * @return Date
 */
public static Date getYearFirst(int year) {
    Calendar calendar = Calendar.getInstance();
    calendar.clear();
    calendar.set(Calendar.YEAR, year);
    Date currYearFirst = calendar.getTime();
    return currYearFirst;
}

/**
 * 获取某年最后一天日期
 *
 * @param year 年份
 * @return Date
 */
public static Date getYearLast(int year) {
    Calendar calendar = Calendar.getInstance();
    calendar.clear();
    calendar.set(Calendar.YEAR, year);
    calendar.roll(Calendar.DAY_OF_YEAR, -1);
    Date currYearLast = calendar.getTime();

    return currYearLast;
}

/**
 * 获取上个月第一天
 *
 * @return
 */
public static Date lastMonthFirstDay() {
    //获取前月的第一天
    Calendar calendar = Calendar.getInstance();//获取当前日期
    calendar.add(Calendar.MONTH, -1);
    calendar.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);
    return calendar.getTime();
}

/**
 * 获取上个月最后一天
 *
 * @return
 */
public static Date lastMonthEndDay() {
    //获取前月的最后一天
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.DAY_OF_MONTH, 1);
    calendar.add(Calendar.DATE, -1);
    calendar.set(Calendar.HOUR_OF_DAY, 23);
    calendar.set(Calendar.MINUTE, 59);
    calendar.set(Calendar.SECOND, 59);
    calendar.set(Calendar.MILLISECOND, 0);
    return calendar.getTime();
}

public static Date obtainDay(Integer state, Integer i) {
    LocalDateTime date = null;
    //type 类型 0.月 1.天 2.小时 3.分钟 4.秒
    date = getLocalDateTime(state, 1, i);
    //获取天

// System.out.println(“获取的时间为(天):”+day);

    return asDate(date);
}

public static Date asDate(LocalDateTime localDateTime) {
    return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}

private static LocalDateTime getLocalDateTime(Integer state, Integer type, Integer i) {
    LocalDateTime date;
    if (state == 0) {
        date = LocalDateTime.now();
    } else if (state == 1) {
        if (type == 0) {   //获取月
            date = LocalDateTime.now().minusMonths(i);
        } else if (type == 1) {   //获取天
            date = LocalDateTime.now().minusDays(i);
        } else if (type == 2) {   //获取小时
            date = LocalDateTime.now().minusHours(i);
        } else if (type == 3) {   //获取分钟
            date = LocalDateTime.now().minusMinutes(i);
        } else {    //获取秒
            date = LocalDateTime.now().minusSeconds(i);
        }
    } else {
        if (type == 0) {   //获取月
            date = LocalDateTime.now().plusMonths(i);
        } else if (type == 1) {   //获取天
            date = LocalDateTime.now().plusDays(i);
        } else if (type == 2) {   //获取小时
            date = LocalDateTime.now().plusHours(i);
        } else if (type == 3) {   //获取分钟
            date = LocalDateTime.now().plusMinutes(i);
        } else {    //获取秒
            date = LocalDateTime.now().plusSeconds(i);
        }
    }
    return date;

}

/**
 * 获取昨天的日期 list
 *
 * @return
 */
public static String getYesterday() {
    Calendar calc = Calendar.getInstance();
    calc.setTime(new Date());
    calc.add(calc.DATE, -1);
    Date minDate = calc.getTime();
    return sdf.format(minDate);
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值