java中日期工具类

来源:互联网 发布:淘宝图片设计软件 编辑:程序博客网 时间:2024/05/21 22:53
    /**
     * @param date yyyy-MM-dd【2015-08-25】
     * @param n 【n为正整数==加n天】【n=0为不变】【n为负整数===减n天】
     * @return
     * @throws ParseException
     */
    public static String addDateForString(String date, int n) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date dt = sdf.parse(date);
        Calendar rightNow = Calendar.getInstance();
        rightNow.setTime(dt);
        rightNow.add(Calendar.DAY_OF_YEAR, n);// 日期加10天
        Date dt1 = rightNow.getTime();
        String reStr = sdf.format(dt1);
        return reStr;
    }

    /**
     * 日期调整
     *
     * @param dt 时间类型的
     * @param n 【n为正整数==加n天】【n=0为不变】【n为负整数===减n天】
     * @return
     */
    public static Date addDateForDate(Date dt, int n) {
        Calendar rightNow = Calendar.getInstance();
        rightNow.setTime(dt);
        rightNow.add(Calendar.DAY_OF_YEAR, n);// 日期加1天
        Date newDate = rightNow.getTime();
        return newDate;

    }

   /**
     * 返回 日期格式化为2015-08-21
     *
     * @param date
     * @return
     */
    public static String dateFormat(Date date) {
        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
        return f.format(date);
    }

    /**
     * 返回 日期格式化为时间格式:16:21:32
     *
     * @param date
     * @return
     */
    public static String timeFormat(Date date) {
        SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
        return f.format(date);
    }

  /**
     * 计算几个月前或者几个月后(自然月)
     * <p>
     * getDate(-3):三个月前.getDate(0):当前时间.getDate(2):两个月后.
     * </p>
     *
     * @param month n个月
     */
    public static String getDate(int month) {
        Calendar c = Calendar.getInstance();
        c.add(Calendar.MONTH, month);// 自然月相加
        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        return f.format(c.getTime());//
    }

    /**
     * 计算几个小时前或者几个小时后
     * <p>
     * getDate(-3):三个小时前.getDate(0):当前时间.getDate(2):两个小时后.
     * </p>
     *
     * @param hour n个小时
     */
    public static Date getHour(int hour) {
        Calendar c = Calendar.getInstance();
        c.add(Calendar.HOUR, hour);
        return c.getTime();
    }

    /**
     * 计算两个时间只差是否大于24小时,大于返回true,小于等于false
     *
     * @param oldTime
     * @param newTime
     * @return
     * @throws ParseException
     */
    public static boolean checkTimeOfSub(String oldTime, String newTime) throws ParseException {
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d1 = df.parse(oldTime);
        Date d2 = df.parse(newTime);
        long diff = d2.getTime() - d1.getTime();
        long ss = diff / (1000);
        if (ss <= 24) {
            return false;
        }
        return true;
    }




0 0