Android 获取各种时间组合

来源:互联网 发布:毕业论文里的数据作假 编辑:程序博客网 时间:2024/05/22 14:58

项目需要,有时候我们需要获取当天的日期或者一个星期的日期,我这里有一个项目使用的获取各种日期的类

/** * Created by Administrator on 2016/1/20. */public class DataUtils {    public final static String TIME_TYPE = "yyyy-MM-dd";    /**     * 获取当前日期时间     * @return     */    public static Date getCurrentTime(){        Date date = new Date();//当前时间        return date;    }    /**     * 得到某年某周的第一天     *     * @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 date     * @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 date     * @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 date     * @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 date     * @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 date     * @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 date     * @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;    }    /**     * 获取当年的第一天     * @return     */    public static Date getCurrYearFirst(){        Calendar currCal=Calendar.getInstance();        int currentYear = currCal.get(Calendar.YEAR);        return getYearFirst(currentYear);    }    /**     * 获取当年的最后一天     * @return     */    public static Date getCurrYearLast(){        Calendar currCal=Calendar.getInstance();        int currentYear = currCal.get(Calendar.YEAR);        return getYearLast(currentYear);    }    /**     * 获取某年第一天日期     * @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;    }    /**     * 日期转化为字符串     * @param data     * @return     */    public static String dataToString(Date data){        SimpleDateFormat format = new SimpleDateFormat(TIME_TYPE);        String day = format.format(data);        return day;    }}
0 0
原创粉丝点击