Java获取各种常用时间方法大全

Java获取各种常用时间方法大全

package*cc.javaweb.test;   

  • importjava.text.DateFormat;      
  • importjava.text.ParsePosition;      
  • importjava.text.SimpleDateFormat;      
  • importjava.util.Calendar;      
  • importjava.util.Date;      
  • importjava.util.GregorianCalendar;      
  • publicclassTimeTest {      
  • //用来全局控制 上一周,本周,下一周的周数变化     
  • privateintweeks =0;      
  • privateintMaxDate;//一月最大天数     
  • privateintMaxYear;//一年最大天数     
  • /**   
  •      * @param args   
  •      */
  • publicstaticvoidmain(String[] args) {      
  •         TimeTest tt =newTimeTest();      
  •         System.out.println("获取当天日期:"+tt.getNowTime("yyyy-MM-dd"));      
  •         System.out.println("获取本周一日期:"+tt.getMondayOFWeek());      
  •         System.out.println("获取本周日的日期~:"+tt.getCurrentWeekday());      
  •         System.out.println("获取上周一日期:"+tt.getPreviousWeekday());      
  •         System.out.println("获取上周日日期:"+tt.getPreviousWeekSunday());      
  •         System.out.println("获取下周一日期:"+tt.getNextMonday());      
  •         System.out.println("获取下周日日期:"+tt.getNextSunday());      
  •         System.out.println("获得相应周的周六的日期:"+tt.getNowTime("yyyy-MM-dd"));      
  •         System.out.println("获取本月第一天日期:"+tt.getFirstDayOfMonth());      
  •         System.out.println("获取本月最后一天日期:"+tt.getDefaultDay());      
  •         System.out.println("获取上月第一天日期:"+tt.getPreviousMonthFirst());      
  •         System.out.println("获取上月最后一天的日期:"+tt.getPreviousMonthEnd());      
  •         System.out.println("获取下月第一天日期:"+tt.getNextMonthFirst());      
  •         System.out.println("获取下月最后一天日期:"+tt.getNextMonthEnd());      
  •         System.out.println("获取本年的第一天日期:"+tt.getCurrentYearFirst());      
  •         System.out.println("获取本年最后一天日期:"+tt.getCurrentYearEnd());      
  •         System.out.println("获取去年的第一天日期:"+tt.getPreviousYearFirst());      
  •         System.out.println("获取去年的最后一天日期:"+tt.getPreviousYearEnd());      
  •         System.out.println("获取明年第一天日期:"+tt.getNextYearFirst());      
  •         System.out.println("获取明年最后一天日期:"+tt.getNextYearEnd());      
  •         System.out.println("获取本季度第一天到最后一天:"+tt.getThisSeasonTime(11));      
  •         System.out.println("获取两个日期之间间隔天数2010-12-31~2010-9-14:"+TimeTest.getTwoDay("2010-12-31","2010-9-14"));      
  •     }      
  • /**   
  •         * 得到二个日期间的间隔天数
  •         */
  • publicstaticString getTwoDay(String sj1, String sj2) {      
  •         SimpleDateFormat myFormatter =newSimpleDateFormat("yyyy-MM-dd");      
  • longday =0;      
  • try{      
  •          java.util.Date date = myFormatter.parse(sj1);      
  •          java.util.Date mydate = myFormatter.parse(sj2);      
  •          day = (date.getTime() - mydate.getTime()) / (24*60*60*1000);      
  •         }catch(Exception e) {      
  • return"";      
  •         }      
  • returnday +"";      
  •     }      
  • /**   
  •         * 根据一个日期,返回是星期几的字符串   
  •         *     
  •         * @param sdate   
  •         * @return   
  •         */
  • publicstaticString getWeek(String sdate) {      
  • // 再转换为时间     
  •         Date date = TimeTest.strToDate(sdate);      
  •         Calendar c = Calendar.getInstance();      
  •         c.setTime(date);      
  • // int hour=c.get(Calendar.DAY_OF_WEEK);     
  • // hour中存的就是星期几了,其范围 1~7     
  • // 1=星期日 7=星期六,其他类推     
  • returnnewSimpleDateFormat("EEEE").format(c.getTime());      
  •     }      
  • /**   
  •         * 将短时间格式字符串转换为时间 yyyy-MM-dd     
  •         *     
  •         * @param strDate   
  •         * @return   
  •         */
  • publicstaticDate strToDate(String strDate) {      
  •         SimpleDateFormat formatter =newSimpleDateFormat("yyyy-MM-dd");      
  •         ParsePosition pos =newParsePosition(0);      
  •         Date strtodate = formatter.parse(strDate, pos);      
  • returnstrtodate;      
  •     }      
  • /**   
  •         * 两个时间之间的天数   
  •         *     
  •         * @param date1   
  •         * @param date2   
  •         * @return   
  •         */
  • publicstaticlonggetDays(String date1, String date2) {      
  • if(date1 ==null|| date1.equals(""))      
  • return0;      
  • if(date2 ==null|| date2.equals(""))      
  • return0;      
  • // 转换为标准时间     
  •         SimpleDateFormat myFormatter =newSimpleDateFormat("yyyy-MM-dd");      
  •         java.util.Date date =null;      
  •         java.util.Date mydate =null;      
  • try{      
  •          date = myFormatter.parse(date1);      
  •          mydate = myFormatter.parse(date2);      
  •         }catch(Exception e) {      
  •         }      
  • longday = (date.getTime() - mydate.getTime()) / (24*60*60*1000);      
  • returnday;      
  •     }      
  • // 计算当月最后一天,返回字符串     
  • publicString getDefaultDay(){         
  •        String str ="";      
  •        SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd");           
  •        Calendar lastDate = Calendar.getInstance();      
  •        lastDate.set(Calendar.DATE,1);//设为当前月的1号     
  •        lastDate.add(Calendar.MONTH,1);//加一个月,变为下月的1号     
  •        lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天     
  •        str=sdf.format(lastDate.getTime());      
  • returnstr;         
  •     }      
  • // 上月第一天     
  • publicString getPreviousMonthFirst(){         
  •        String str ="";      
  •        SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd");           
  •        Calendar lastDate = Calendar.getInstance();      
  •        lastDate.set(Calendar.DATE,1);//设为当前月的1号     
  •        lastDate.add(Calendar.MONTH,-1);//减一个月,变为下月的1号     
  • //lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天     
  •        str=sdf.format(lastDate.getTime());      
  • returnstr;         
  •     }      
  • //获取当月第一天     
  • publicString getFirstDayOfMonth(){         
  •        String str ="";      
  •        SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd");           
  •        Calendar lastDate = Calendar.getInstance();      
  •        lastDate.set(Calendar.DATE,1);//设为当前月的1号     
  •        str=sdf.format(lastDate.getTime());      
  • returnstr;         
  •     }      
  • // 获得本周星期日的日期      
  • publicString getCurrentWeekday() {      
  •         weeks =0;      
  • intmondayPlus =this.getMondayPlus();      
  •         GregorianCalendar currentDate =newGregorianCalendar();      
  •         currentDate.add(GregorianCalendar.DATE, mondayPlus+6);      
  •         Date monday = currentDate.getTime();      
  •         DateFormat df = DateFormat.getDateInstance();      
  •         String preMonday = df.format(monday);      
  • returnpreMonday;      
  •     }      
  • //获取当天时间      
  • publicString getNowTime(String dateformat){      
  •         Date   now   =   new   Date();         
  •         SimpleDateFormat   dateFormat   =   new   SimpleDateFormat(dateformat);//可以方便地修改日期格式        
  •         String  hehe  = dateFormat.format(now);         
  • returnhehe;      
  •     }      
  • // 获得当前日期与本周日相差的天数     
  • privateintgetMondayPlus() {      
  •         Calendar cd = Calendar.getInstance();      
  • // 获得今天是一周的第几天,星期日是第一天,星期二是第二天......     
  • intdayOfWeek = cd.get(Calendar.DAY_OF_WEEK)-1;         //因为按中国礼拜一作为第一天所以这里减1     
  • if(dayOfWeek ==1) {      
  • return0;      
  •         }else{      
  • return1- dayOfWeek;      
  •         }      
  •     }      
  • //获得本周一的日期     
  • publicString getMondayOFWeek(){      
  •          weeks =0;      
  • intmondayPlus =this.getMondayPlus();      
  •          GregorianCalendar currentDate =newGregorianCalendar();      
  •          currentDate.add(GregorianCalendar.DATE, mondayPlus);      
  •          Date monday = currentDate.getTime();      
  •          DateFormat df = DateFormat.getDateInstance();      
  •          String preMonday = df.format(monday);      
  • returnpreMonday;      
  •     }      
  • //获得相应周的周六的日期     
  • publicString getSaturday() {      
  • intmondayPlus =this.getMondayPlus();      
  •         GregorianCalendar currentDate =newGregorianCalendar();      
  •         currentDate.add(GregorianCalendar.DATE, mondayPlus +7* weeks +6);      
  •         Date monday = currentDate.getTime();      
  •         DateFormat df = DateFormat.getDateInstance();      
  •         String preMonday = df.format(monday);       return*preMonday;      
    **
  • **    }  
    **

你可能感兴趣的