zoukankan      html  css  js  c++  java
  • java日期加减年月日

    /**
         * 日期相加减
         * @param time 
         *             时间字符串 yyyy-MM-dd HH:mm:ss
         * @param num
         *             加的数,-num就是减去
         * @return  
         *             减去相应的数量的年的日期
         * @throws ParseException 
         */
        public static Date yearAddNum(Date time, Integer num) {
            //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //Date date = format.parse(time);
            
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(time);
            calendar.add(Calendar.YEAR, num);
            Date newTime = calendar.getTime();
            return newTime;
        }
        
        /**
         * 
         * @param time
         *           时间
         * @param num
         *           加的数,-num就是减去
         * @return 
         *          减去相应的数量的月份的日期
         * @throws ParseException Date
         */
        public static Date monthAddNum(Date time, Integer num){
            //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //Date date = format.parse(time);
            
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(time);
            calendar.add(Calendar.MONTH, num);
            Date newTime = calendar.getTime();
            return newTime;
        }
        
        /**
         * 
         * @param time
         *           时间
         * @param num
         *           加的数,-num就是减去
         * @return 
         *          减去相应的数量的天的日期
         * @throws ParseException Date
         */
        public static Date dayAddNum(Date time, Integer num){
            //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //Date date = format.parse(time);
            
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(time);
            calendar.add(Calendar.DAY_OF_MONTH, num);
            Date newTime = calendar.getTime();
            return newTime;
        }

    /**
    * 获取本月第一天时间
    */
    public static Date getMonthStartDate(){
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.DAY_OF_MONTH,1);
    return calendar.getTime();
    }

    /**
    * 获取本月最后一天
    *
    */
    public static Date getMonthEndDate(){
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
    return calendar.getTime();
    }
    /**
    * 获取本周的开始时间
    */
    public static Date getBeginWeekDate(){
    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
    //周日是1 ,周一是 2 ,周二是 3
    //所以,当周的第一天 = 当前日期 - 距离周一过了几天(周一过了0天,周二过了1天, 周日过了6天)
    // 2 - 周一的(dayofweek:2 )= 0
    // 2 - 周二的(dayofweek:3 )= -1
    // .
    // .
    // 2 - 周日的(dayofweek:1) = 1(这个是不符合的需要我们修改)===》2 - 周日的(dayofweek:1 ==》8 ) = -6
    if (dayofweek == 1) {
    dayofweek += 7;
    }
    cal.add(Calendar.DATE, 2 - dayofweek);
    return cal.getTime();
    }

    /**
    * 本周的结束时间
    * 开始时间 + 6天
    */
    public static Date getEndWeekDate(){
    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
    if (dayofweek == 1) {
    dayofweek += 7;
    }
    cal.add(Calendar.DATE, 8 - dayofweek);//2 - dayofweek + 6
    return cal.getTime();
    }
  • 相关阅读:
    关于Kb/s,KB/s的一些知识
    关于停止AsyncTask和Thread的问题
    Android使用layer-list实现三面边框
    MX4连接后adb无法识别解决方法
    浅析LruCache原理
    Android DiskLruCache 硬盘缓存
    NDK、SDK以及JNI的关系
    Android系统提供的开发常用的包名及作用
    MVC学习十三:RouteDebugger插件应用
    MVC学习十二:Ajax.ActionLink用法
  • 原文地址:https://www.cnblogs.com/renjianjun/p/9182575.html
Copyright © 2011-2022 走看看