非常强大的DateUtile

/**

*/

package com.jnwat.anbao.common.utils;

 

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.*;

 

import org.apache.commons.lang.StringEscapeUtils;

import org.apache.commons.lang3.time.DateFormatUtils;

import org.joda.time.DateTime;

import org.joda.time.Period;

import org.joda.time.PeriodType;

 

/**

* 日期工具类, 继承org.apache.commons.lang.time.DateUtils类

* @author administrator

* @version 2014-4-15

*/

public class DateUtils extends org.apache.commons.lang3.time.DateUtils {

    

    private static String[] parsePatterns = {

        "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",

        "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",

        "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};

 

    /**

     * 得到当前日期字符串 格式(yyyy-MM-dd)

     */

    public static String getDate() {

        return getDate("yyyy-MM-dd");

    }

    

    /**

     * 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"

     */

    public static String getDate(String pattern) {

        return DateFormatUtils.format(new Date(), pattern);

    }

    

    /**

     * 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"

     */

    public static String formatDate(Date date, Object... pattern) {

        String formatDate = null;

        if (pattern != null && pattern.length > 0) {

            formatDate = DateFormatUtils.format(date, pattern[0].toString());

        } else {

            formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");

        }

        return formatDate;

    }

    

    /**

     * 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)

     */

    public static String formatDateTime(Date date) {

        return formatDate(date, "yyyy-MM-dd HH:mm:ss");

    }

 

    /**

     * 得到当前时间字符串 格式(HH:mm:ss)

     */

    public static String getTime() {

        return formatDate(new Date(), "HH:mm:ss");

    }

 

    /**

     * 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss)

     */

    public static String getDateTime() {

        return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");

    }

 

    /**

     * 得到当前年份字符串 格式(yyyy)

     */

    public static String getYear() {

        return formatDate(new Date(), "yyyy");

    }

 

    /**

     * 得到当前月份字符串 格式(MM)

     */

    public static String getMonth() {

        return formatDate(new Date(), "MM");

    }

 

    /**

     * 得到当天字符串 格式(dd)

     */

    public static String getDay() {

        return formatDate(new Date(), "dd");

    }

 

    /**

     * 得到当前星期字符串 格式(E)星期几

     */

    public static String getWeek() {

        return formatDate(new Date(), "E");

    }

    

    /**

     * 日期型字符串转化为日期 格式

     * { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",

     * "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm",

     * "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm" }

     */

    public static Date parseDate(Object str) {

        if (str == null){

            return null;

        }

        try {

            return parseDate(str.toString(), parsePatterns);

        } catch (ParseException e) {

            return null;

        }

    }

 

    /**

     * 获取过去的天数

     * @param date

     * @return

     */

    public static long pastDays(Date date) {

        long t = new Date().getTime()-date.getTime();

        return t/(24*60*60*1000);

    }

 

    /**

     * 获取过去的小时

     * @param date

     * @return

     */

    public static long pastHour(Date date) {

        long t = new Date().getTime()-date.getTime();

        return t/(60*60*1000);

    }

    

    /**

     * 获取过去的分钟

     * @param date

     * @return

     */

    public static long pastMinutes(Date date) {

        long t = new Date().getTime()-date.getTime();

        return t/(60*1000);

    }

    

    /**

     * 转换为时间(天,时:分:秒.毫秒)

     * @param timeMillis

     * @return

     */

public static String formatDateTime(long timeMillis){

        long day = timeMillis/(24*60*60*1000);

        long hour = (timeMillis/(60*60*1000)-day*24);

        long min = ((timeMillis/(60*1000))-day*24*60-hour*60);

        long s = (timeMillis/1000-day*24*60*60-hour*60*60-min*60);

        long sss = (timeMillis-day*24*60*60*1000-hour*60*60*1000-min*60*1000-s*1000);

        return (day>0?day+",":"")+hour+":"+min+":"+s+"."+sss;

}

    

    /**

     * 获取两个日期之间的天数

     *

     * @param before

     * @param after

     * @return

     */

    public static double getDistanceOfTwoDate(Date before, Date after) {

        long beforeTime = before.getTime();

        long afterTime = after.getTime();

        return (afterTime - beforeTime) / (1000 * 60 * 60 * 24);

    }

 

    /**

     * 两个日期相差的月数除以三取商

     */

    public static int get3MonthNum(Date date1,Date date2) {

        Calendar cal1=Calendar.getInstance();

        cal1.setTime(date1);

        Calendar cal2=Calendar.getInstance();

        cal2.setTime(date2);

        return ((cal2.get(1)-cal1.get(1))*12+(cal2.get(2)-cal1.get(2)))/3;

    }

 

    /**

     * 两个日期相差的月数

     */

    public static int getMonthNum(Date date1,Date date2) {

        Calendar cal1=Calendar.getInstance();

        cal1.setTime(date1);

        Calendar cal2=Calendar.getInstance();

        cal2.setTime(date2);

        return (cal2.get(1)-cal1.get(1))*12+(cal2.get(2)-cal1.get(2));

    }

 

    /**

     * 两个日期相差的月数除以六取商

     */

    public static int get6MonthNum(Date date1,Date date2) {

        Calendar cal1=Calendar.getInstance();

        cal1.setTime(date1);

        Calendar cal2=Calendar.getInstance();

        cal2.setTime(date2);

        return ((cal2.get(1)-cal1.get(1))*12+(cal2.get(2)-cal1.get(2)))/6;

    }

 

    /**

     * 两个日期相差的月数除以12取商

     */

    public static int get12MonthNum(Date date1,Date date2) {

        Calendar cal1=Calendar.getInstance();

        cal1.setTime(date1);

        Calendar cal2=Calendar.getInstance();

        cal2.setTime(date2);

        return ((cal2.get(1)-cal1.get(1))*12+(cal2.get(2)-cal1.get(2)))/12;

    }

 

    /**

     * 获取某个日期后几个月的日期

     * @param date

     * @param dateType

     * @param month

     * @return

     * @throws ParseException

     */

    public static Date addMonth(Date date,String dateType,int month) throws ParseException {

        String nowDate = null;

        SimpleDateFormat format = new SimpleDateFormat(dateType);

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);

        calendar.add(Calendar.MONTH, month);

        nowDate = format.format(calendar.getTime());

        return format.parse(nowDate);

    }

 

    public static String[] getDateStrBetweenTwoDate(Date startDate,Date endDate,String pattern){

        try {

            if(startDate == null || endDate == null){

                return null;

            }

            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");

            long startTime = simpleDateFormat1.parse(simpleDateFormat1.format(startDate)).getTime();

            long endTime = simpleDateFormat1.parse(simpleDateFormat1.format(endDate)).getTime();

            int days = (int)Math.ceil((endTime - startTime) / (1000 * 60 * 60 * 24))+1;

            String[] result = new String[days];

            SimpleDateFormat sdf = new SimpleDateFormat(pattern);

            for(int i = 0;i<days;i++){

                result[i] = sdf.format(new Date(startTime));

                startTime += (1000 * 60 * 60 * 24);

            }

            return result;

        }catch (Exception e){

            e.printStackTrace();

            return null;

        }


 

    }

 

    /**

    * @描述: 获取当前年份的12月15号

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param:

    * @return

    * @version 1.0

    */

    public static Date getCurYear1215(){

        Calendar cale = null;

        cale = Calendar.getInstance();

        cale.set(cale.get(Calendar.YEAR),11,15);

        return cale.getTime();

    }

 

    /**

    * @描述: 得到某个日期的前三个月日期

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param:

    * @return

    * @version 1.0

    */

    public static Date getBefor3Month(Date date){

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);

        int year = calendar.get(calendar.YEAR);

        int month = calendar.get(calendar.MONTH) + 1;

        int day = calendar.get((calendar.DATE));

        calendar.set(year,(month-4),day);

        return calendar.getTime();

    }


 

    /**

    * @描述: 获取某个日期半年后日期

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param:

    * @return

    * @version 1.0

    */

    public static Date getAfter6Month(Date date){

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);

        int year = calendar.get(calendar.YEAR);

        int month = calendar.get(calendar.MONTH) + 1;

        int day = calendar.get((calendar.DATE));

        calendar.set(year,(month+5),day);

        return calendar.getTime();

    }

 

    /**

    * @描述: 获取某个日期后一个月

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param:

    * @return

    * @version 1.0

    */

    public static Date getAfter1Month(Date date){

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);

        int year = calendar.get(calendar.YEAR);

        int month = calendar.get(calendar.MONTH) + 1;

        int day = calendar.get((calendar.DATE));

        calendar.set(year,(month),day);

        return calendar.getTime();

    }

 

    /**

    * @描述: 一周后

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param:

    * @return

    * @version 1.0

    */

    public static Date getAfter7day(Date date){

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);

        int year = calendar.get(calendar.YEAR);

        int month = calendar.get(calendar.MONTH);

        int day = calendar.get((calendar.DATE)) + 7;

        calendar.set(year,(month),day);

        return calendar.getTime();

    }

 

    /**

    * @描述: 获取当前时间的季度

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param:

    * @return

    * @version 1.0

    */

    public static int getQuarter(Calendar c){

        int quarter = 1;

        Calendar c1 = Calendar.getInstance();

        c1.set(c.get(Calendar.YEAR), Calendar.JANUARY, 1);

        Calendar c3 = Calendar.getInstance();

        c3.set(c.get(Calendar.YEAR), Calendar.MARCH, 31);

        Calendar c4 = Calendar.getInstance();

        c4.set(c.get(Calendar.YEAR), Calendar.APRIL, 1);

        Calendar c6 = Calendar.getInstance();

        c6.set(c.get(Calendar.YEAR), Calendar.JUNE, 30);

        Calendar c7 = Calendar.getInstance();

        c7.set(c.get(Calendar.YEAR), Calendar.JULY, 1);

        Calendar c9 = Calendar.getInstance();

        c9.set(c.get(Calendar.YEAR), Calendar.SEPTEMBER, 30);

        Calendar c10 = Calendar.getInstance();

        c10.set(c.get(Calendar.YEAR), Calendar.OCTOBER, 1);

        if(c.compareTo(c1)>=0&&c.compareTo(c3)<=0){//一季度

            quarter = 1;

        }else if(c.compareTo(c4)>=0&&c.compareTo(c6)<=0){//二季度

            quarter = 2;

        }else if(c.compareTo(c7)>=0&&c.compareTo(c9)<=0){//三季度

            quarter = 3;

        }else{//四季度

            quarter = 4;

        }

        return quarter;

    }

 

    /**

    * @描述: 根据年与月获取月的开始时间与结束时间

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param: string string

    * @return date

    * @version 1.0

    */

    public static Date[] getMonthSE(String year,String month) throws ParseException {

     String dateStr = year + "-" + month + "-15";

Date[] arr = new Date[2];

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

Calendar c = Calendar.getInstance();

c.setTime(sdf.parse(dateStr));

c.set(Calendar.DAY_OF_MONTH, 1);

arr[0] =c.getTime();

c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));

arr[1]=c.getTime();

return arr;

}

 

    /**

     * 获取某周得第一天

     * @param year 年

     * @param week 周

     * @return

     */

    public static Date getFirstDayOfWeek(int year, int week){

        Calendar c = new GregorianCalendar();

 

        c.set(Calendar.YEAR, year);

        c.set(Calendar.WEEK_OF_YEAR, week);

        c.setFirstDayOfWeek(Calendar.MONDAY);

        c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());

        c.set(Calendar.HOUR, 0);

        c.set(Calendar.MINUTE, 0);

        c.set(Calendar.SECOND, 0);

 

        return c.getTime();

    }

 

    /**

     * 获取某周得最后一天

     * @param year 年

     * @param week 周

     * @return

     */

    public static Date getLastDayOfWeek(int year, int week){

        Calendar c = new GregorianCalendar();

 

        c.set(Calendar.YEAR, year);

        c.set(Calendar.WEEK_OF_YEAR, week);

        c.setFirstDayOfWeek(Calendar.MONDAY);

        c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6);

        c.set(Calendar.HOUR, 23);

        c.set(Calendar.MINUTE, 59);

        c.set(Calendar.SECOND, 59);

 

        return c.getTime();

    }

 

    /**

     * 获取某月得第一天

     * @param year 年

     * @param month 月

     * @return

     */

    public static Date getFirstDayOfMonth(int year, int month){

        Calendar c = new GregorianCalendar();

 

        c.set(year, month, 1);

        c.set(Calendar.HOUR, 0);

        c.set(Calendar.MINUTE, 0);

        c.set(Calendar.SECOND, 0);

 

        return c.getTime();

    }

 

    /**

     * 获取某月得最后一天

     * @param year 年

     * @param month 月

     * @return

     */

    public static Date getLastDayOfMonth(int year, int month){

        Calendar c = new GregorianCalendar();

 

        c.set(year, month, 1);

        c.roll(Calendar.DATE, -1);

        c.set(Calendar.HOUR, 23);

        c.set(Calendar.MINUTE, 59);

        c.set(Calendar.SECOND, 59);

 

        return c.getTime();

    }

 

    /**

     * 获取某季度得第一天

     * @param year 年

     * @param quarter 季度

     * @return

     */

    public static Date getFirstDayOfQuarter(int year, int quarter){

        Calendar c = new GregorianCalendar();

 

        int month = 0;

        switch (quarter) {

            case 1:

                month = 1-1;

                break;

            case 2:

                month = 4-1;

                break;

            case 3:

                month = 7-1;

                break;

            case 4:

                month = 10-1;

                break;

            default:

                month = c.get(Calendar.MONTH);

                break;

        }

 

        return getFirstDayOfMonth(year, month);

    }

 

    /**

     * 获取某季度得最一天

     * @param year 年

     * @param quarter 季度

     * @return

     */

    public static Date getLastDayOfQuarter(int year, int quarter){

        Calendar c = new GregorianCalendar();

 

        int month = 0;

        switch (quarter) {

            case 1:

                month = 3-1;

                break;

            case 2:

                month = 6-1;

                break;

            case 3:

                month = 9-1;

                break;

            case 4:

                month = 12-1;

                break;

            default:

                month = c.get(Calendar.MONTH);

                break;

        }

 

        return getLastDayOfMonth(year, month);

    }

 

    /**

     * 获取某年得第一天

     * @param year 年

     * @return

     */

    public static Date getFirstDayOfYear(int year){

        return getFirstDayOfMonth(year, 0);

    }

 

    /**

     * 获取某年得最后一天

     * @param year 年

     * @return

     */

    public static Date getLastDayOfYear(int year){

        return getLastDayOfMonth(year, 11);

    }

 

    

 

    

    /**

     * 获取当前为年第几周

     */

    public static int getWeekYear(){

        Calendar calendar = Calendar.getInstance();

        calendar.setFirstDayOfWeek(Calendar.MONDAY);

        calendar.setTime(new Date());

        int week = calendar.get(Calendar.WEEK_OF_YEAR);

        return week;

    }

 

    public static void main(String[] args){

List<Date> list = null;

try {

list = getRangeSet_Q(new Date(),getAfter6Month(new Date()));

} catch (Exception e) {

e.printStackTrace();

}

System.out.println(list

                .toString());

    }

 

    /**

    * @描述: 获取当前月的开始日期与结束日期

    *

    * @公司: 济南广域软件

    * @author zhangpeng

    * @param:

    * @return

    * @version 1.0

    */

    public static Date[] getFLDate(){

        Calendar cale = null;

        cale = Calendar.getInstance();

        Date[] arr = new Date[2];

        // 获取当月的第一天

        cale = Calendar.getInstance();

        cale.add(Calendar.MONTH, 0);

        cale.set(Calendar.DAY_OF_MONTH, 1);

        arr[0] = cale.getTime();

        // 获取当月的最后一天

        cale = Calendar.getInstance();

        cale.add(Calendar.MONTH, 1);

        cale.set(Calendar.DAY_OF_MONTH, 0);

        arr[1] = cale.getTime();

        System.out.println(arr[0] + "dddddddddd"+arr[1]);

        return arr;

    }

 

    /**

     *根据时间范围获得季度集

     * @return

     */

    public static List getRangeSet_Q(Date beginDate,Date endDate){

        SimpleDateFormat sdf = null;

        String[] numStr =null;

        Integer Y = null;

        Integer Q = null;

        sdf = new SimpleDateFormat("yyyy-MM");

        Calendar dd = Calendar.getInstance();//定义日期实例

        dd.setTime(beginDate);//设置日期起始时间

        List<Date> list = new ArrayList<Date>();

        while(!dd.getTime().after(endDate)){//判断是否到结束日期

            numStr= sdf.format(dd.getTime()).split("-",0);

            Y = Integer.valueOf(numStr[0]);

            Q = getQuarter(Integer.valueOf(numStr[1]));

            Date date = getFirstDayOfQuarter(Y,Q);

            list.add(date);

            dd.add(Calendar.MONTH, 1);//进行当前日期月份加1

        }

        return removeDuplicate(list);

    }

 

    /**

     * 根据月获得季度

     * @param month 月

     * @return 季度

     */

    private static int getQuarter(int month) {

        if(month == 1 || month == 2 || month == 3){

            return 1;

        }else if(month == 4 || month == 5 || month == 6){

            return 2;

        }else if(month == 7 || month == 8 || month == 9){

            return 3;

        }else{

            return 4;

        }

    }

    public static List removeDuplicate(List list) {

        for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {

            for ( int j = list.size() - 1 ; j > i; j -- ) {

                if (list.get(j).equals(list.get(i))) {

                    list.remove(j);

                }

            }

        }

        return list;

    }

 

    /**

     *根据时间范围获得月份集

     * @return

     */

    public static List<Date> getRangeSet(Date beginDate,Date endDate){

        List<Date> rangeSet =null;

        rangeSet = new java.util.ArrayList<Date>();

        Calendar dd = Calendar.getInstance();//定义日期实例

        dd.setTime(beginDate);//设置日期起始时间

        while(!dd.getTime().after(endDate)){//判断是否到结束日期

            rangeSet.add(dd.getTime());

            dd.add(Calendar.MONTH, 1);//进行当前日期月份加1

        }

        return rangeSet;

    }

 

    /**

     * 获取某时间段内所有周的列表(开始时间)

     * @param startDate

     * @param endDate

     * @return

     */

    public static List<Date> getWeek1List(Date startDate,Date endDate) throws ParseException {

        List<String> weekList = new ArrayList<>();

        //转换成joda-time的对象

        DateTime firstDay = new DateTime(startDate).dayOfWeek().withMinimumValue();

        DateTime lastDay = new DateTime(endDate).dayOfWeek().withMaximumValue();

        //计算两日期间的区间天数

        Period p = new Period(firstDay, lastDay, PeriodType.days());

        int days = p.getDays();

        if (days > 0){

            int weekLength = 7;

            for(int i=0;i<days;i=i+weekLength){

                String monDay = firstDay.plusDays(i).toString("yyyy-MM-dd");

                weekList.add(monDay);

            }

        }

        return stod(weekList);

    }

 

    /*

     * 获取时间范围内每周的周一周三

     */

    public static List<Date> getWeek2List(Date startDate,Date endDate) throws ParseException {

        List<String> weekList = new ArrayList<>();

        //转换成joda-time的对象

        DateTime firstDay = new DateTime(startDate).dayOfWeek().withMinimumValue();

        DateTime lastDay = new DateTime(endDate).dayOfWeek().withMaximumValue();

        //计算两日期间的区间天数

        Period p = new Period(firstDay, lastDay, PeriodType.days());

        int days = p.getDays();

        if (days > 0){

            int weekLength = 7;

            for(int i=0;i<days;i=i+weekLength){

                String monDay = firstDay.plusDays(i).toString("yyyy-MM-dd");

                String sunDay = firstDay.plusDays(i+2).toString("yyyy-MM-dd");

 

                weekList.add(monDay);

weekList.add(sunDay);

            }

        }

        return stod(weekList);

    }

    /*

     * 获取时间范围内每周的周一周三

     */

    public static List<Date> getWeek3List(Date startDate,Date endDate) throws ParseException {

        List<String> weekList = new ArrayList<>();

        //转换成joda-time的对象

        DateTime firstDay = new DateTime(startDate).dayOfWeek().withMinimumValue();

        DateTime lastDay = new DateTime(endDate).dayOfWeek().withMaximumValue();

        //计算两日期间的区间天数

        Period p = new Period(firstDay, lastDay, PeriodType.days());

        int days = p.getDays();

        if (days > 0){

            int weekLength = 7;

            for(int i=0;i<days;i=i+weekLength){

                String monDay = firstDay.plusDays(i).toString("yyyy-MM-dd");

                String sunDay = firstDay.plusDays(i+2).toString("yyyy-MM-dd");

                String friDay = firstDay.plusDays(i+4).toString("yyyy-MM-dd");

 

                weekList.add(monDay);

                weekList.add(sunDay);

                weekList.add(friDay);

            }

        }

        return stod(weekList);

    }

    /*

     * 获取时间范围内每周的周一周二周三周四周五

     */

    public static List<Date> getWeek5List(Date startDate,Date endDate) throws ParseException {

        List<String> weekList = new ArrayList<>();

        //转换成joda-time的对象

        DateTime firstDay = new DateTime(startDate).dayOfWeek().withMinimumValue();

        DateTime lastDay = new DateTime(endDate).dayOfWeek().withMaximumValue();

        //计算两日期间的区间天数

        Period p = new Period(firstDay, lastDay, PeriodType.days());

        int days = p.getDays();

        if (days > 0){

            int weekLength = 7;

            for(int i=0;i<days;i=i+weekLength){

                String monDay = firstDay.plusDays(i).toString("yyyy-MM-dd");

                String tueDay = firstDay.plusDays(i+1).toString("yyyy-MM-dd");

                String wedDay = firstDay.plusDays(i+2).toString("yyyy-MM-dd");

                String thuDay = firstDay.plusDays(i+3).toString("yyyy-MM-dd");

                String friDay = firstDay.plusDays(i+4).toString("yyyy-MM-dd");

 

                weekList.add(monDay);

                weekList.add(tueDay);

                weekList.add(wedDay);

                weekList.add(thuDay);

                weekList.add(friDay);

            }

        }

        return stod(weekList);

    }

 

//将string转化成date

public static List<Date> stod(List<String> weekList) throws ParseException {

     List<Date> dateL = new ArrayList<Date>();

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

     for(String i:weekList){

     Date date =

sdf.parse(i);

     dateL.add(date);

}

return dateL;

}

 

//根据时间范围获取每月一号与15号

    public static List<Date> getRangeSet2(Date beginDate,Date endDate){

        List<Date> rangeSet =null;

        rangeSet = new java.util.ArrayList<Date>();

        Calendar dd = Calendar.getInstance();//定义日期实例

        dd.setTime(beginDate);//设置日期起始时间

        while(!dd.getTime().after(endDate)){//判断是否到结束日期

            rangeSet.add(dd.getTime());

            dd.add(Calendar.DATE,14);

            rangeSet.add(dd.getTime());

            dd.add(Calendar.DATE,-14);

            dd.add(Calendar.MONTH, 1);//进行当前日期月份加1

        }

        return rangeSet;

    }

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值