美文网首页
Java时间日期工具类

Java时间日期工具类

作者: 明月天 | 来源:发表于2020-05-20 15:43 被阅读0次
    博客原文:[点击阅读](https://www.zjhuiwan.cn/info/20200520/4010402516784361.html)​​​​​​​

老是忘,还是记录下 -_-||
package zjhuiwan.cn.helper;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**

  • 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();
      }
      }

相关文章

网友评论

      本文标题:Java时间日期工具类

      本文链接:https://www.haomeiwen.com/subject/chlnohtx.html