磨刀不誤砍柴工

          合抱之木,生于毫末;九層之臺,起于累土;千里之行,始于足下。

             ::  ::  ::  :: 管理
          工具類:
          package
           com.power.date;

          import  java.text.ParseException;
          import  java.text.SimpleDateFormat;
          import  java.util.Calendar;
          import  java.util.Date;

          public   class  DateUtils {        
              
          /**
               * 格式化日期
               * 
          @param  date
               * 
          @param  pattern
               * 
          @return
               
          */
              
              
          public   static  String format(Date date,String pattern){
                  SimpleDateFormat format 
          =    new  SimpleDateFormat(pattern);        
                  
          return  format.format(date);
              }
              
              
          /**
               * 根據字符串生成日期
               * 
          @param  dateStr
               * 
          @param  pattern
               * 
          @return
               * 
          @throws  ParseException
               
          */
              
              
          public   static  Date parse(String dateStr,String pattern)  throws  ParseException{
                  SimpleDateFormat format 
          =    new  SimpleDateFormat(pattern);    
                  
          return  format.parse(dateStr);
              }
              
              
          /**
               * 比較日期前后
               * 
          @param  date 
               * 
          @param  when 
               * 
          @return  date在when之前,返回false,否則返回true
               
          */
              
          public   static   boolean  after(Date date,Date when){
                  
          return  date.after(when);
              }
              
          /**
               * 添加(或減小)時間
               * 
          @param  date
               * 
          @param  field 要添加(或減小)的字段(年或月或日或)
               * 
          @param  amount 要添加(或減小)的數量,amount為正數時,是添加,為負數時是減小
               * 
          @return  日期
               
          */
              
          public   static  Date add(Date date, int  field, int  amount){        
                  Calendar ca 
          =  Calendar.getInstance();
                  ca.setTime(date);
                  ca.add(field, amount);        
                  
          return  ca.getTime();
              }
              
              
          /**
               * 添加(或減小)時間
               * 
          @param  date
               * 
          @param  field 要添加(或減小)的字段(年或月或日或)
               * 
          @param  amount 要添加(或減小)的數量,amount為正數時,是添加,為負數時是減小
               * 
          @param  pattern 格式化模式
               * 
          @return  格式化后的日期字符串
               
          */
              
          public   static  String add(Date date, int  field, int  amount,String pattern){        
                  Calendar ca 
          =  Calendar.getInstance();
                  ca.setTime(date);
                  ca.add(field, amount);        
                  
                  
          return  format(ca.getTime(),pattern);
              }
              
              
          public   class  DatePattern{
                  
          public   static   final  String Y_M_D = " yyyy-MM-dd " ;
                  
          public   static   final  String Y_M_D_H_M_S = " yyyy-MM-dd HH:mm:ss " ;
              }
          }

          測試類:


          /**
           * 
           
          */
          package  com.power.date;

          import  java.text.ParseException;
          import  java.util.Calendar;
          import  java.util.Date;

          import  org.junit.Test;
          import   static  junit.framework.Assert. * ;

          /**
           * 
          @author  liwei
           *
           
          */
          public   class  TestDateUtils {
              @Test
              
          public   void  testFormat(){
                  Date now 
          =   new  Date();
                  System.out.println(DateUtils.format(now, DateUtils.DatePattern.Y_M_D));
                  System.out.println(DateUtils.format(now, DateUtils.DatePattern.Y_M_D_H_M_S));
              }
              @Test
              
          public   void  testParse()  throws  ParseException{
                  String dateStr
          = " 2009-06-09 " ;
                  Date date 
          =  DateUtils.parse(dateStr, DateUtils.DatePattern.Y_M_D);
                  System.out.println(DateUtils.format(date, DateUtils.DatePattern.Y_M_D));
                  
                  dateStr
          = " 2009-06-09 10:14:57 " ;
                  Date date2 
          =  DateUtils.parse(dateStr, DateUtils.DatePattern.Y_M_D_H_M_S);
                  System.out.println(DateUtils.format(date2, DateUtils.DatePattern.Y_M_D_H_M_S));
                  
              }
              
              @Test 
              
          public   void  testAfter()  throws  ParseException{
                  String dateStr
          = " 2009-06-09 " ;
                  Date date 
          =  DateUtils.parse(dateStr, DateUtils.DatePattern.Y_M_D);
                  
                  Date now 
          =   new  Date();
                  
                  assertTrue(DateUtils.after(now, date));
                  
              }
              
              @Test 
              
          public   void  testAdd()  throws  ParseException{
                  String dateStr
          = " 2009-06-09 " ;
                  Date date 
          =  DateUtils.parse(dateStr, DateUtils.DatePattern.Y_M_D);
                  
                  Date date2
          =  DateUtils.add(date, Calendar.MONDAY,  6 );        
                  assertEquals(
          " 2009-12-09 " , DateUtils.format(date2, DateUtils.DatePattern.Y_M_D));
                  
                  assertEquals(
          " 2009-12-09 " , DateUtils.add(date,Calendar.MONDAY, 6 ,DateUtils.DatePattern.Y_M_D));
                  
                  
                  
                  date2 
          =  DateUtils.add(date, Calendar.MONTH,  - 2 );        
                  assertEquals(
          " 2009-04-09 " , DateUtils.format(date2, DateUtils.DatePattern.Y_M_D));        
                  
                  assertEquals(
          " 2009-04-09 " , DateUtils.add(date,Calendar.MONDAY, - 2 ,DateUtils.DatePattern.Y_M_D));
                  
              }
              
              
              
              
          }

          posted on 2009-06-09 11:13 liwei5891 閱讀(408) 評論(0)  編輯  收藏 所屬分類: Java

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 扶风县| 浦城县| 曲沃县| 靖边县| 万安县| 罗田县| 黄龙县| 三穗县| 宕昌县| 公安县| 郎溪县| 垣曲县| 同心县| 上犹县| 黎城县| 道孚县| 延寿县| 青神县| 临西县| 竹山县| 伊宁市| 梨树县| 苍山县| 盈江县| 山东| 侯马市| 友谊县| 武夷山市| 大关县| 灵川县| 遂宁市| 湘潭市| 张家界市| 宁远县| 古田县| 平阳县| 石河子市| 宜川县| 菏泽市| 都昌县| 星座|