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

java中日期工具类

2020-12-14 20:03 931 查看

    /** 
     * @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;
    }


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