隨筆-124  評論-49  文章-56  trackbacks-0

          java開發時往往需要做字符串和日期的轉換

          主要用到:java.text.SimpleDateFormat

          SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );  

          它確立了轉換的格式,為什么有的格式大寫,有的格式小寫,那是怕避免混淆,例如MM是月份,mm是分;HH是24小

          時制,而hh是12小時制

          1.字符串轉日期
             2008-07-10 19:20:00 要把它轉成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " );

          2.日期轉字符串
             假如把今天的日期轉成字符串可用 String str = sdf.format(new Date());

             這個字符串內容的格式類似2008-07-10 19:20:00。

          附編寫好的一個簡單實例:

          import java.util.Date;   
          import java.text.ParseException;   
          import java.text.SimpleDateFormat;   
          public class ConvertDemo {   
            
          /**  
          * 日期轉換成字符串  
          @param date   
          @return str  
          */
            
          public static String DateToStr(Date date) {   
               
             SimpleDateFormat format 
          = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
             String str 
          = format.format(date);   
             
          return str;   
          }
              
            
          /**  
          * 字符串轉換成日期  
          @param str  
          @return date  
          */
            
          public static Date StrToDate(String str) {   
               
             SimpleDateFormat format 
          = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
             Date date 
          = null;   
             
          try {   
              date 
          = format.parse(str);   
             }
           catch (ParseException e) {   
              e.printStackTrace();   
             }
             
             
          return date;   
          }
             
            
          public static void main(String[] args) {   
               
             Date date 
          = new Date();   
             System.out.println(
          "日期轉字符串:" + ConvertDemo.DateToStr(date));   
             System.out.println(
          "字符串轉日期:" + ConvertDemo.StrToDate(ConvertDemo.DateToStr(date)));   
          }
             
          }
            

          import java.text.ParseException;      
          import java.text.SimpleDateFormat;      
          import java.util.Date;      
          /**    
           * JAVA中字符串轉與日期型的互轉實例    
           
          */
               
          public class ExValue{      
               
              
          /**    
               * 取當前系統日期,并按指定格式或者是默認格式返回    
               * 
          @param format    
               * 
          @return    
               
          */
               
              
          public static String getNow(String format){      
                  
          if(null == format || "".equals(format))      
                  
          {      
                      format 
          = "yyyy-MM-dd HH:mm:ss";      
                  }
                
                  SimpleDateFormat sdf 
          = new SimpleDateFormat(format);      
                  String date 
          = sdf.format(new Date());      
                  
          return date;      
              }
                
              
          /**    
               * 將字符型轉換為指定格式日期型    
               * 
          @param _date 需要轉換成日期的字符串    
               * 
          @param format 與需要轉換成日期的字符串相匹配的格式    
               * 
          @return    
               
          */
               
              
          private static Date stringToDate(String _date,String format){      
                  
          if(null == format || "".equals(format))      
                  
          {      
                      format 
          = "yyyy-MM-dd HH:mm:ss";      
                  }
                
                  SimpleDateFormat sdf 
          = new SimpleDateFormat(format);      
                  Date date
          =null;      
                  
          try {      
                      date
          =sdf.parse(_date);      
                  }
           catch (ParseException e) {      
                      
          // TODO Auto-generated catch block      
                      e.printStackTrace();      
                  }
                
                  
          return date;      
              }
                
              
          /**    
               * 將日期型轉換為指定格式的字符串    
               * 
          @param date 日期    
               * 
          @param format 格式    
               * 
          @return    
               
          */
               
              
          public static String dateToString(Date date,String format){      
                  
          if(null == format || "".equals(format))      
                  
          {      
                      format 
          = "yyyy年MM月dd日 hh點:mm分:ss秒";      
                  }
                
                  SimpleDateFormat sdf 
          = new SimpleDateFormat(format);      
                  
          return sdf.format(date);      
              }
                
              
          public static void main(String[] args) throws Exception {      
                  
          //當字符串轉日期型的時候,format的格式,一定要和需要轉成日期的字符串相匹配      
                  
          //String dateString="2009-01-01",format="yyyy-MM-dd";      
                  String dateString="2009-01-01 01:01:02",format="yyyy-MM-dd hh:mm:ss";      
                  String result
          =stringToDate(dateString, format).toString();      
                  System.out.println(
          "字符轉日期:"+result.toString());      
                  System.out.println(
          "日期轉字符串:"+dateToString(stringToDate(dateString, format),"yyyy年MM月dd日 hh點:mm分:ss秒"));      
              }
                
          }
             


          System.currentTimeMillis();
          //以毫秒為單位返回當前時間

          java.util.Calendar


          Calendar   g
          =Calendar.getInstance();   
            g.add(Calendar.YEAR,
          1);   
            SimpleDateFormat   s
          =new   SimpleDateFormat("yyyy-MM-dd   HH-mm-ss",Locale.US);   
            String   d
          =s.format(g.getTime());   
            System.out.println(d);


           Calendar   calendar   
          =   new   GregorianCalendar(); 

                    calendar.setTime(date); 

              calendar.add(calendar.DATE,
          1);//把日期往后增加一天.整數往后推,負數往前移動 

                    date
          =calendar.getTime(); 


            Calendar c 
          = Calendar.getInstance();            //得到當前日期和時間
                  c.set(Calendar.HOUR, 0);                        //把當前時間小時變成0
                  c.set(Calendar.MINUTE, 0);                      //把當前時間分鐘變成0
                  c.set(Calendar.SECOND, 0);                      //把當前時間秒數變成0
                  c.set(Calendar.MILLISECOND, 0);                 //把當前時間毫秒變成0
                  Date date1 = c.getTime();                       //創建當天的0時0分0秒一個date對象
                  c.setFirstDayOfWeek(Calendar.SUNDAY);           //設定星期的第一天是星期天
                  c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);   //把日期變成本周的星期天
                  Date date2 = c.getTime();                       //得到這個星期的星期天0時0分0秒
                  c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); //把日期變成本周的星期六
                  Date date3 = c.getTime();                       //得到這個星期的星期六0時0分0秒
                  System.out.println(date1);
                 System.out.println(date2);
                 System.out.println(date3);


          當天0點0分0秒 
          Calendar calendar
          =Calendar.getInstance(); 
          calendar.set(Calendar.HOUR_OF_DAY,
          0); 
          calendar.set(Calendar.MINUTE,
          0); 
          calendar.set(Calendar.SECOND,
          0); 
          calendar.set(Calendar.MILLISECOND,
          0); 
          Date today 
          = calendar.getTime(); 

          這個星期的星期天0時0分0秒和星期六0時0分0秒 
          接著上面的 

          c.add(Calendar.DATE, 
          1-c.get(Calendar.DAY_OF_WEEK)); 
          //此時c是本周日的日期(也就是上周日,本周第一天) 
          c.add(Calendar.DATE,7-c.get(Calendar.DAY_OF_WEEK)); 
          //此時c是本周六的日期 

          注意這個c.get(Calendar.DAY_OF_WEEK)一定要實時取,否則先取出來放到int變量中,第一個移到周日成功了,再移就不對了,因為這時c已經是周日那天了。
          posted on 2009-12-03 17:09 junly 閱讀(5361) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 麻栗坡县| 津市市| 凌源市| 东乡县| 罗甸县| 资兴市| 兴隆县| 西盟| 大厂| 孝昌县| 庆阳市| 泰顺县| 曲靖市| 布尔津县| 临安市| 汝阳县| 昭平县| 小金县| 营山县| 许昌县| 缙云县| 无为县| 黑山县| 馆陶县| 乌苏市| 宜良县| 海门市| 皋兰县| 衡南县| 吴桥县| 津市市| 巴彦淖尔市| 义乌市| 宜川县| 霸州市| 额济纳旗| 元谋县| 东乡族自治县| 秭归县| 璧山县| 水富县|