Date工具类

来源:互联网 发布:js监听扫描枪 编辑:程序博客网 时间:2024/05/20 20:01

因为用到的工具时间类比较,所以把写的都拿来放一块了,分享下

public class DateTool {     private final static SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");       private final static SimpleDateFormat longHourSdf = new SimpleDateFormat("yyyy-MM-dd HH");;       private final static SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");;      public static String formatDate(Date date,String format){        String result="";        SimpleDateFormat sdf=new SimpleDateFormat(format);        if(date!=null){            result=sdf.format(date);        }        return result;    }    public static Date formatString(String str,String format) throws Exception{        if(StringTool.isEmpty(str)){            return null;        }        SimpleDateFormat sdf=new SimpleDateFormat(format);        return sdf.parse(str);    }    public static String getCurrentDateStr() throws Exception{        Date date=new Date();        SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddhhmmss");        return sdf.format(date);    }   /**    * yyyy-MM-dd HH:mm:ss    * @return     */   public static String getTime(){       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");          String time=formatter.format(new Date());       return time;   }   /**    * yyyy-MM-dd    * @return    */   public static String getDate(){       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");        String time=formatter.format(new Date());       return time;   }   /**    * 返回星期数    * @Description: TODO    * @param @return       * @return int      * @throws    */   public static int getWeek(){       Calendar c = Calendar.getInstance();       // 今天是一周中的第几天       int dayOfWeek = c.get(Calendar.DAY_OF_WEEK );       return dayOfWeek;   }   /**    * 返回本周七天的日期    * @Description: TODO    * @param @return       * @return String[]      * @throws    */   public static String[] getWeekDays(){       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");       Calendar c = Calendar.getInstance();       // 今天是一周中的第几天       int dayOfWeek = c.get(Calendar.DAY_OF_WEEK );       if (c.getFirstDayOfWeek() == Calendar.SUNDAY) {           c.add(Calendar.DAY_OF_MONTH, 1);       }       // 计算一周开始的日期       c.add(Calendar.DAY_OF_MONTH, -dayOfWeek);       String[] weekDays = new String[7];        for (int i=0;i<7;i++) {           c.add(Calendar.DAY_OF_MONTH, 1);           weekDays[i] = sdf.format(c.getTime());       }       return weekDays;   }   /**    * 获取相差时间,以分为单位    * @param starttime    * @param endtime    * @return    * @throws ParseException    */   public static int getMinute(String starttime,String endtime) throws ParseException{       SimpleDateFormat format1 = new SimpleDateFormat("HH:mm");       SimpleDateFormat format2 = new SimpleDateFormat("HH:mm");       long time1=format1.parse(starttime).getTime();       long time2=format2.parse(endtime).getTime();       int minute=(int) ((time2-time1)/(1000*60));       return minute;   }   /**    * 分钟相加    * @param starttime    * @param intervaltime    * @return    * @throws ParseException    */   public static String addMinute(String starttime,int intervaltime) throws ParseException{     SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");     int b=intervaltime*60*1000;     long result = sdf.parse(starttime).getTime() + (b);     Date d1 = new Date(result);     return sdf.format(d1).toString();   }   /**    * 获取当前是第几季度    * 1 第一季度 2 第二季度 3 第三季度 4 第四季度     * 一季度是1月1日到3月31日;二季度是4月1日到6月30;三季度是7月1到9月30;四季度是10月1到12月31。    * @param date    * @return    */   public static int getSeason(Date date) {         int season = 0;         Calendar c = Calendar.getInstance();         c.setTime(date);         int month = c.get(Calendar.MONTH);         switch (month) {         case Calendar.JANUARY:         case Calendar.FEBRUARY:         case Calendar.MARCH:             season = 1;             break;         case Calendar.APRIL:         case Calendar.MAY:         case Calendar.JUNE:             season = 2;             break;         case Calendar.JULY:         case Calendar.AUGUST:         case Calendar.SEPTEMBER:             season = 3;             break;         case Calendar.OCTOBER:         case Calendar.NOVEMBER:         case Calendar.DECEMBER:             season = 4;             break;         default:             break;         }         return season;     }    /**    * 获取当前季度开始时间    * @return    */   public static String getCurrentQuarterStartTime() {         Calendar c = Calendar.getInstance();         int currentMonth = c.get(Calendar.MONTH) + 1;          String now="";       try {             if (currentMonth >= 1 && currentMonth <= 3)                 c.set(Calendar.MONTH, 0);             else if (currentMonth >= 4 && currentMonth <= 6)                 c.set(Calendar.MONTH, 3);             else if (currentMonth >= 7 && currentMonth <= 9)                 c.set(Calendar.MONTH, 4);             else if (currentMonth >= 10 && currentMonth <= 12)                 c.set(Calendar.MONTH, 9);             c.set(Calendar.DATE, 1);              now = shortSdf.format(c.getTime()) +" 00:00:00";         } catch (Exception e) {             e.printStackTrace();         }         return now;     }     /**    * 获取当前季度结束时间    * @return    */   public static String getCurrentQuarterEndTime() {         Calendar c = Calendar.getInstance();         int currentMonth = c.get(Calendar.MONTH) + 1;         String now="";        try {             if (currentMonth >= 1 && currentMonth <= 3) {                 c.set(Calendar.MONTH, 2);                 c.set(Calendar.DATE, 31);             } else if (currentMonth >= 4 && currentMonth <= 6) {                 c.set(Calendar.MONTH, 5);                 c.set(Calendar.DATE, 30);             } else if (currentMonth >= 7 && currentMonth <= 9) {                 c.set(Calendar.MONTH, 8);                 c.set(Calendar.DATE, 30);             } else if (currentMonth >= 10 && currentMonth <= 12) {                 c.set(Calendar.MONTH, 11);                 c.set(Calendar.DATE, 31);             }             now = shortSdf.format(c.getTime()) + " 23:59:59";         } catch (Exception e) {             e.printStackTrace();         }         return now;     }    /**       *     *日期加几月     *      **/    public static String dateAddMonth(String str,int mon) throws Exception {            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");          Date dt = sdf.parse(str);          Calendar rightNow = Calendar.getInstance();          rightNow.setTime(dt);          rightNow.add(Calendar.MONTH, mon);// 日期加几个月   //        Date dt1 = rightNow.getTime();          String reStr = sdf.format(dt1);          return reStr;          }   /**       *     *日期加几天    *      **/    public static String dateAddDay(String str,int day) throws Exception {            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");          Date dt = sdf.parse(str);          Calendar rightNow = Calendar.getInstance();          rightNow.setTime(dt);          rightNow.add(Calendar.DAY_OF_MONTH, day);// 日期加几个月   //        Date dt1 = rightNow.getTime();          String reStr = sdf.format(dt1);          return reStr;          }}
原创粉丝点击