您的位置:首页 > 编程语言 > Java开发

Java日期常用处理方法

2017-01-20 13:40 573 查看
/**

     * <li>功能描述:两个时间相隔天数

     *

     * @param beginDateStr

     * @param endDateStr

     * @return long

     * @author Administrator

     */

    public static long getDaySub(String beginDateStr, String endDateStr) {

        long day = 0;

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

        Date beginDate = null;

        Date endDate = null;

        try {

            beginDate = format.parse(beginDateStr);

            endDate = format.parse(endDateStr);

        } catch (ParseException e) {

            e.printStackTrace();

        }

        day = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000);

        //System.out.println("相隔的天数="+day);

        return day;
    }

 /**

     * 得到n天之后的日期

     *

     * @param days

     * @return

     */

    public static String getAfterDayDate(String days) {

        int daysInt = Integer.parseInt(days);

        Calendar canlendar = Calendar.getInstance(); // java.util包

        canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动

        Date date = canlendar.getTime();

        SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String dateStr = sdfd.format(date);

        return dateStr;

    }

    /**

     * 得到n天之后是周几

     *

     * @param days

     * @return

     */

    public static String getAfterDayWeek(String days) {

        int daysInt = Integer.parseInt(days);

        Calendar canlendar = Calendar.getInstance(); // java.util包

        canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动

        Date date = canlendar.getTime();

        SimpleDateFormat sdf = new SimpleDateFormat("E");

        String dateStr = sdf.format(date);

        return dateStr;

    }

    /**

     * 得到当前月后面months个月

     *

     * @param months 几月

     * @return

     */

    public static String getAfterMonth(Date curDate, int months) {

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(curDate);

        calendar.add(Calendar.MONTH, months); //当前月后的months个月日期

        Date afterDate = calendar.getTime();

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

        String afterTime = format.format(afterDate);

        return afterTime;

    }

    /**

     * 获取指定年指定月的天数

     * @param year 年

     * @param month 月

     * @return

     */

    public static int getMonthLastDay(int year, int month){

        Calendar a = Calendar.getInstance();

        a.set(Calendar.YEAR, year);

        a.set(Calendar.MONTH, month - 1);

        a.set(Calendar.DATE, 1);//把日期设置为当月第一天

        a.roll(Calendar.DATE, -1);//日期回滚一天,也就是最后一天

        int maxDate = a.get(Calendar.DATE);

        return maxDate;

    }

    /**

     * 获取当月的 天数

     * */

    public static int getCurrentMonthDay() {

        Calendar a = Calendar.getInstance();

        a.set(Calendar.DATE, 1);

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

        int maxDate = a.get(Calendar.DATE);

        return maxDate;

    }

    /**

     * 获取当月的 天数

     * */

    public static int getLastMonthDay() {

        Calendar a = Calendar.getInstance();

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

        a.set(Calendar.DATE, 1);

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

        int maxDate = a.get(Calendar.DATE);

        return maxDate;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: