• Java获取一年里某季、某月、某周的第一天及最后一天时间的完整代码如下:


         //今天加一天
            private Date dateupdte(Date date){
                Calendar c = Calendar.getInstance();
                c.setTime(date);
                c.add(Calendar.DAY_OF_MONTH, 1);// 今天+1天
                Date tomorrow = c.getTime();
                return tomorrow;
            } 
    /**
     * 返回指定日期的月的第一天
     *
     * @return
     */
    public static Date getFirstDayOfMonth(Date date) {
        try {
            Calendar calendar = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date dateNew = sdf.parse(sdf.format(date).substring(0, 10) + " " + "00:00:00");
            calendar.setTime(dateNew);
            calendar.set(calendar.get(Calendar.YEAR),
                    calendar.get(Calendar.MONTH), 1);
            return calendar.getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    /**
     * 返回指定日期的月的最后一天
     *
     * @return
     */
    public static Date getLastDayOfMonth(Date date) {
        try {
            Calendar calendar = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date dateNew = sdf.parse(sdf.format(date).substring(0, 10) + " " + "23:59:59");
            calendar.setTime(dateNew);
            calendar.set(calendar.get(Calendar.YEAR),
                    calendar.get(Calendar.MONTH), 1);
            calendar.roll(Calendar.DATE, -1);
            return calendar.getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class DateUtil {
    
        /**
         * 得到某年某周的第一天
         *
         * @param year
         * @param week
         * @return
         */
        public static Date getFirstDayOfWeek(int year, int week) {
            week = week - 1;
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, Calendar.JANUARY);
            calendar.set(Calendar.DATE, 1);
    
            Calendar cal = (Calendar) calendar.clone();
            cal.add(Calendar.DATE, week * 7);
    
            return getFirstDayOfWeek(cal.getTime());
        }
    
        /**
         * 得到某年某周的最后一天
         *
         * @param year
         * @param week
         * @return
         */
        public static Date getLastDayOfWeek(int year, int week) {
            week = week - 1;
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, Calendar.JANUARY);
            calendar.set(Calendar.DATE, 1);
            Calendar cal = (Calendar) calendar.clone();
            cal.add(Calendar.DATE, week * 7);
    
            return getLastDayOfWeek(cal.getTime());
        }
    
        /**
         * 取得当前日期所在周的第一天
         *
         * @param date
         * @return
         */
        public static Date getFirstDayOfWeek(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setFirstDayOfWeek(Calendar.SUNDAY);
            calendar.setTime(date);
            calendar.set(Calendar.DAY_OF_WEEK,
                          calendar.getFirstDayOfWeek()); // Sunday
            return calendar.getTime();
        }
    
        /**
         * 取得当前日期所在周的最后一天
         *
         * @param date
         * @return
         */
        public static Date getLastDayOfWeek(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setFirstDayOfWeek(Calendar.SUNDAY);
            calendar.setTime(date);
            calendar.set(Calendar.DAY_OF_WEEK,
                         calendar.getFirstDayOfWeek() + 6); // Saturday
            return calendar.getTime();
        }
    
        /**
         * 取得当前日期所在周的前一周最后一天
         *
         * @param date
         * @return
         */
        public static Date getLastDayOfLastWeek(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            return getLastDayOfWeek(calendar.get(Calendar.YEAR),
                                    calendar.get(Calendar.WEEK_OF_YEAR) - 1);
        }
    
        /**
         * 返回指定日期的月的第一天
         *
         * @param year
         * @param month
         * @return
         */
        public static Date getFirstDayOfMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(calendar.get(Calendar.YEAR),
                         calendar.get(Calendar.MONTH), 1);
            return calendar.getTime();
        }
    
        /**
         * 返回指定年月的月的第一天
         *
         * @param year
         * @param month
         * @return
         */
        public static Date getFirstDayOfMonth(Integer year, Integer month) {
            Calendar calendar = Calendar.getInstance();
            if (year == null) {
                year = calendar.get(Calendar.YEAR);
            }
            if (month == null) {
                month = calendar.get(Calendar.MONTH);
            }
            calendar.set(year, month, 1);
            return calendar.getTime();
        }
    
        /**
         * 返回指定日期的月的最后一天
         *
         * @param year
         * @param month
         * @return
         */
        public static Date getLastDayOfMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(calendar.get(Calendar.YEAR),
                         calendar.get(Calendar.MONTH), 1);
            calendar.roll(Calendar.DATE, -1);
            return calendar.getTime();
        }
    
        /**
         * 返回指定年月的月的最后一天
         *
         * @param year
         * @param month
         * @return
         */
        public static Date getLastDayOfMonth(Integer year, Integer month) {
            Calendar calendar = Calendar.getInstance();
            if (year == null) {
                year = calendar.get(Calendar.YEAR);
            }
            if (month == null) {
                month = calendar.get(Calendar.MONTH);
            }
            calendar.set(year, month, 1);
            calendar.roll(Calendar.DATE, -1);
            return calendar.getTime();
        }
    
        /**
         * 返回指定日期的上个月的最后一天
         *
         * @param year
         * @param month
         * @return
         */
        public static Date getLastDayOfLastMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(calendar.get(Calendar.YEAR),
                         calendar.get(Calendar.MONTH) - 1, 1);
            calendar.roll(Calendar.DATE, -1);
            return calendar.getTime();
        }
    
        /**
         * 返回指定日期的季的第一天
         *
         * @param year
         * @param quarter
         * @return
         */
        public static Date getFirstDayOfQuarter(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            return getFirstDayOfQuarter(calendar.get(Calendar.YEAR),
                                        getQuarterOfYear(date));
        }
    
        /**
         * 返回指定年季的季的第一天
         *
         * @param year
         * @param quarter
         * @return
         */
        public static Date getFirstDayOfQuarter(Integer year, Integer quarter) {
            Calendar calendar = Calendar.getInstance();
            Integer month = new Integer(0);
            if (quarter == 1) {
                month = 1 - 1;
            } else if (quarter == 2) {
                month = 4 - 1;
            } else if (quarter == 3) {
                month = 7 - 1;
            } else if (quarter == 4) {
                month = 10 - 1;
            } else {
                month = calendar.get(Calendar.MONTH);
            }
            return getFirstDayOfMonth(year, month);
        }
    
        /**
         * 返回指定日期的季的最后一天
         *
         * @param year
         * @param quarter
         * @return
         */
        public static Date getLastDayOfQuarter(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            return getLastDayOfQuarter(calendar.get(Calendar.YEAR),
                                       getQuarterOfYear(date));
        }
    
        /**
         * 返回指定年季的季的最后一天
         *
         * @param year
         * @param quarter
         * @return
         */
        public static Date getLastDayOfQuarter(Integer year, Integer quarter) {
            Calendar calendar = Calendar.getInstance();
            Integer month = new Integer(0);
            if (quarter == 1) {
                month = 3 - 1;
            } else if (quarter == 2) {
                month = 6 - 1;
            } else if (quarter == 3) {
                month = 9 - 1;
            } else if (quarter == 4) {
                month = 12 - 1;
            } else {
                month = calendar.get(Calendar.MONTH);
            }
            return getLastDayOfMonth(year, month);
        }
    
        /**
         * 返回指定日期的上一季的最后一天
         *
         * @param year
         * @param quarter
         * @return
         */
        public static Date getLastDayOfLastQuarter(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            return getLastDayOfLastQuarter(calendar.get(Calendar.YEAR),
                                           getQuarterOfYear(date));
        }
    
        /**
         * 返回指定年季的上一季的最后一天
         *
         * @param year
         * @param quarter
         * @return
         */
        public static Date getLastDayOfLastQuarter(Integer year, Integer quarter) {
            Calendar calendar = Calendar.getInstance();
            Integer month = new Integer(0);
            if (quarter == 1) {
                month = 12 - 1;
            } else if (quarter == 2) {
                month = 3 - 1;
            } else if (quarter == 3) {
                month = 6 - 1;
            } else if (quarter == 4) {
                month = 9 - 1;
            } else {
                month = calendar.get(Calendar.MONTH);
            }
            return getLastDayOfMonth(year, month);
        }
    
        /**
         * 返回指定日期的季度
         *
         * @param date
         * @return
         */
        public static int getQuarterOfYear(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            return calendar.get(Calendar.MONTH) / 3 + 1;
        }
    }
  • 相关阅读:
    如何在一个页面调用另一个页面
    CSS3新增的选择器和属性
    js中函数和方法的区别
    jQuery中哪几种选择器
    关于JS数组的栈和队列操作
    HDU1232 畅通工程(并查集)
    并查集
    有关素数的基础算法
    二分教室
    蚂蚁下桥(思维)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13300659.html
Copyright © 2020-2023  润新知