获取当天的开始时间、结束时间等等的一个工具类

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Date;

import java.util.List;



/**

 * Date工具类

 */

public class Dateutil {



    /**

     * 当天的开始时间

     * @return

     */

    public static long startOfTodDay() {

        Calendar calendar = Calendar.getInstance();

        calendar.set(Calendar.HOUR_OF_DAY, 0);

        calendar.set(Calendar.MINUTE, 0);

        calendar.set(Calendar.SECOND, 0);

        calendar.set(Calendar.MILLISECOND, 0);

        Date date=calendar.getTime();

        return date.getTime();

    }

    /**

     * 当天的结束时间

     * @return

     */

    public static long endOfTodDay() {

        Calendar calendar = Calendar.getInstance();

        calendar.set(Calendar.HOUR_OF_DAY, 23);

        calendar.set(Calendar.MINUTE, 59);

        calendar.set(Calendar.SECOND, 59);

        calendar.set(Calendar.MILLISECOND, 999);

        Date date=calendar.getTime();

        return date.getTime();

    }

    /**

     * 昨天的开始时间

     * @return

     */

    public static long startOfyesterday() {

        Calendar calendar = Calendar.getInstance();

        calendar.set(Calendar.HOUR_OF_DAY, 0);

        calendar.set(Calendar.MINUTE, 0);

        calendar.set(Calendar.SECOND, 0);

        calendar.add(Calendar.DATE, -1);

        calendar.set(Calendar.MILLISECOND, 0);

        Date date=calendar.getTime();

        return date.getTime();

    }

    /**

     * 昨天的结束时间

     * @return

     */

    public static long endOfyesterday() {

        Calendar calendar = Calendar.getInstance();

        calendar.set(Calendar.HOUR_OF_DAY, 23);

        calendar.set(Calendar.MINUTE, 59);

        calendar.set(Calendar.SECOND, 59);

        calendar.set(Calendar.MILLISECOND, 999);

        calendar.add(Calendar.DATE, -1);

        Date date=calendar.getTime();

        return date.getTime();

    }



    /**

     * 功能:获取上周的开始时间

     */

    public static long startOfLastWeek() {// 当周开始时间

        return startOfThisWeek() - 7 * 24 * 60 * 60 * 1000;

    }



    /**

     * 功能:获取上周的结束时间

     */

    public static long endOfLastWeek() {// 当周开始时间

        return endOfThisWeek() - 7 * 24 * 60 * 60 * 1000;

    }



    /**

     * 功能:获取本周的开始时间 示例:2013-05-13 00:00:00

     */

    public static long startOfThisWeek() {// 当周开始时间

        Calendar currentDate = Calendar.getInstance();

        currentDate.setFirstDayOfWeek(Calendar.MONDAY);

        currentDate.set(Calendar.HOUR_OF_DAY, 0);

        currentDate.set(Calendar.MINUTE, 0);

        currentDate.set(Calendar.SECOND, 0);

        currentDate.set(Calendar.MILLISECOND, 0);

        currentDate.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

        Date date=currentDate.getTime();

        return date.getTime();

    }



    /**

     * 功能:获取本周的结束时间 示例:2013-05-19 23:59:59

     */

    public static long endOfThisWeek() {// 当周结束时间

        Calendar currentDate = Calendar.getInstance();

        currentDate.setFirstDayOfWeek(Calendar.MONDAY);

        currentDate.set(Calendar.HOUR_OF_DAY, 23);

        currentDate.set(Calendar.MINUTE, 59);

        currentDate.set(Calendar.SECOND, 59);

        currentDate.set(Calendar.MILLISECOND, 999);

        currentDate.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

        Date date=currentDate.getTime();

        return date.getTime();

    }



    /**

     * 功能:获取本月的开始时间

     */

    public static long startOfThisMonth() {// 当周开始时间

        Calendar currentDate = Calendar.getInstance();

        currentDate.set(Calendar.HOUR_OF_DAY, 0);

        currentDate.set(Calendar.MINUTE, 0);

        currentDate.set(Calendar.SECOND, 0);

        currentDate.set(Calendar.MILLISECOND, 0);

        currentDate.set(Calendar.DAY_OF_MONTH, 1);

        Date date=currentDate.getTime();

        return date.getTime();

    }



    public static long endOfThisMonth() {

        Calendar cal = Calendar.getInstance();

        cal.set(Calendar.DAY_OF_MONTH, 1);

        cal.set(Calendar.HOUR_OF_DAY, 23);

        cal.set(Calendar.MINUTE, 59);

        cal.set(Calendar.SECOND, 59);

        cal.set(Calendar.MILLISECOND, 999);

        cal.add(Calendar.MONTH, 1);

        cal.add(Calendar.DATE, -1);

        Date date=cal.getTime();

        return date.getTime();

    }

    

    /**

     * 功能:获取上月的开始时间

     */

    public static long startOfLastMonth() {// 当周开始时间

        Calendar currentDate = Calendar.getInstance();

        currentDate.set(Calendar.HOUR_OF_DAY, 0);

        currentDate.set(Calendar.MINUTE, 0);

        currentDate.set(Calendar.SECOND, 0);

        currentDate.set(Calendar.MILLISECOND, 0);

        currentDate.set(Calendar.DAY_OF_MONTH, 1);

        currentDate.add(Calendar.MONTH, -1);

        Date date=currentDate.getTime();

        return date.getTime();

    }

    /**

     * 功能:获取上月的结束时间

     */

    public static long endOfLastMonth() {

        Calendar cal = Calendar.getInstance();

        cal.set(Calendar.DAY_OF_MONTH, 1);

        cal.set(Calendar.HOUR_OF_DAY, 23);

        cal.set(Calendar.MINUTE, 59);

        cal.set(Calendar.SECOND, 59);

        cal.set(Calendar.MILLISECOND, 999);

        cal.add(Calendar.DATE, -1);

        Date date=cal.getTime();

        return date.getTime();

    }



    /**

     *  根据long返回year

     * @param milliseconds

     * @return

     */

    public static Object[] theYearOfTime(long milliseconds){

        Calendar cal = Calendar.getInstance();

        Date date=cal.getTime();

        int thisYear=date.getYear()+1900;

        cal.setTimeInMillis(milliseconds);

        date=cal.getTime();

        int regirsterYear=date.getYear()+1900;

        if(regirsterYear<thisYear){

            List<Integer> yearL=new ArrayList<Integer>();

            for(int i=regirsterYear;i<=thisYear;i++){

                yearL.add(i);

            }

            return yearL.toArray();

        }else{

            return new Object[]{thisYear};

        }

        

    }

    

    /**

     * 功能:获取本年的开始时间

     */

    public static long startOfTheYear(int year) {// 当周开始时间

        Calendar currentDate = Calendar.getInstance();

        currentDate.set(Calendar.YEAR, year);

        currentDate.set(Calendar.MONTH, 0);

        currentDate.set(Calendar.HOUR_OF_DAY, 0);

        currentDate.set(Calendar.MINUTE, 0);

        currentDate.set(Calendar.SECOND, 0);

        currentDate.set(Calendar.MILLISECOND, 0);

        currentDate.set(Calendar.DAY_OF_MONTH, 1);

        Date date=currentDate.getTime();

        return date.getTime();

    }

    /**

     * 功能:获取本年的开始时间

     */

    public static long endOfTheYear(int year) {

        Calendar cal = Calendar.getInstance();

        cal.set(Calendar.YEAR, year);

        cal.set(Calendar.MONTH,11);

        cal.set(Calendar.DAY_OF_MONTH, 31);

        cal.set(Calendar.HOUR_OF_DAY, 23);

        cal.set(Calendar.MINUTE, 59);

        cal.set(Calendar.SECOND, 59);

        cal.set(Calendar.MILLISECOND, 999);

        Date date=cal.getTime();

        return date.getTime();

    }

}

 

你可能感兴趣的:(工具类)