隨筆-42  評論-578  文章-1  trackbacks-0

                 今天舍友問我,JDBC中的stmt.setDate()怎么挺入當前時間,傳入參數new java.util.Date()不行,傳入 參數new java.sql.Date(),試了一會,還是不行。此時,才發覺,自從用了Hibernate,JPA之后,我連原始的東西都忘記了。這可是一個很可悲的問題,決定來一次小測試!
                 

          package test;

          import java.sql.Timestamp;
          import java.text.DateFormat;
          import java.text.ParseException;
          import java.text.SimpleDateFormat;

          public class SQLDate {

              
          public static void main(String[] args){
                  
                  System.out.println(System.currentTimeMillis());        
          //結果:1244711626453
                  
                  java.util.Date date1 
          = new java.util.Date();
                  System.out.println(date1.toString());    
          //結果: Thu Jun 11 16:27:57 CST 2009
                  
                  
          //java.sql.Date extends java.util.Date
                  java.sql.Date date2 = new java.sql.Date(System.currentTimeMillis());
                  System.out.println(date2.toString());    
          //結果: 2009-06-11
                  
                  java.sql.Date date3 
          = new java.sql.Date(date1.getTime());
                  System.out.println(date3.toString());    
          //結果:2009-06-11
                  
                  
          //Timestamp extends java.util.Date
                  Timestamp stamp1 = new Timestamp(System.currentTimeMillis());
                  System.out.println(stamp1.toString());    
          //結果: 2009-06-11 16:27:57.75
                  
                  Timestamp stamp2 
          = new Timestamp(date1.getTime());
                  System.out.println(stamp2.toString());    
          //結果:2009-06-11 16:52:56.171

                  
          //日期時間轉換成格式化的字符串
                  SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                  
          //format(java.util.Date date), Timestamp是java.util.Date的子類
                  String timeStr =  sdf.format(stamp1);    
                  System.out.println(timeStr);    
          //結果:2009/06/11 16:52:56
                  
                  
          //SimpleDateFormat extends DateFormat,DateFormat是抽象類
                  DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                  String timeStr2 
          = df.format(date1);
                  String timeStr3 
          = df.format(date2);
                  System.out.println(timeStr2);    
          //結果:2009/06/11 16:52:56
                  System.out.println(timeStr3);    //結果: 2009/06/11 16:52:56
                  
                  
          //字符串轉化為日期時間
                  try {
                      
          //parse()中的參數必須與sdf中定義的格式一致,否則拋異常
                      java.util.Date date6 = sdf.parse("2009/12/10 5:12:02");
                      System.out.println(date6.toString()); 
          //結果: Thu Dec 10 05:12:02 CST 2009
                      
                      java.sql.Date date7 
          = new java.sql.Date(date6.getTime());
                      System.out.println(date7.toString()); 
          //結果: 2009-12-10
                      
                      
          //注意: sdf.parse()返回值是java.util.Date類型,不能轉化成java.sql.Date類型
                      
          //java.sql.Date date8 = (java.sql.Date)sdf.parse("2009/12/10 5:12:02"); //不可行
                      
                      Timestamp stamp9 
          = new Timestamp(date7.getTime());
                      System.out.println(stamp9.toString()); 
          //結果: 2009-12-10 05:12:02.0
                  }
           catch (ParseException e) {
                      e.printStackTrace();
                  }

                  
              }

          }


                  這樣測試一下,那幾個常用日期時間類和字符串與日期時間類的轉換的用法,也就一目了然了。貼到博客上,下次再遺忘時,打開來看看,也就立即記起來了!


          本文原創,轉載請注明出處,謝謝!http://www.aygfsteel.com/rongxh7(心夢帆影JavaEE技術博客)
              

          posted on 2009-06-11 17:25 心夢帆影 閱讀(3847) 評論(7)  編輯  收藏 所屬分類: JavaSE

          評論:
          # re: 一些淡忘了的Java日期時間函數 2009-06-11 17:37 | 小人物
          學習了哈。。。  回復  更多評論
            
          # re: 一些淡忘了的Java日期時間函數 2009-06-11 17:38 | 心夢帆影
          @小人物
          下次再來!哈哈  回復  更多評論
            
          # re: 一些淡忘了的Java日期時間函數 2009-06-11 19:58 | megan
          刀不磨,要生銹。學習了……  回復  更多評論
            
          # re: 一些淡忘了的Java日期時間函數 2009-06-11 20:17 | 咖啡@可樂
          學習中。。。。  回復  更多評論
            
          # re: 一些淡忘了的Java日期時間函數 2009-06-12 14:20 | 字幕
          不錯。。。。  回復  更多評論
            
          # re: 一些淡忘了的Java日期時間函數 2009-06-13 08:21 | access
          這個。。。 知道java.util.Date和java.sql.Date區別就可以啦

          日期,還常用到SimpleDateFormat Calendar

          ---------------------------------
          解開權限與業務耦合,提高開發效率
          細粒度權限管理軟件 試用版下載
          http://www.metadmin.com

            回復  更多評論
            
          # re: 一些淡忘了的Java日期時間函數[未登錄] 2009-06-16 01:23 | jesse
          that 's wonderful ,by the way ,i am that roommate...  回復  更多評論
            
          主站蜘蛛池模板: 盐城市| 武川县| 巩义市| 日喀则市| 新乡市| 三门峡市| 贵南县| 武定县| 喀喇沁旗| 安化县| 永顺县| 栖霞市| 勃利县| 肇庆市| 张家港市| 合山市| 宁南县| 濉溪县| 应用必备| 治多县| 巩义市| 高阳县| 丹寨县| 明溪县| 永平县| 依安县| 隆昌县| 迁西县| 永泰县| 西畴县| 虎林市| 封丘县| 新沂市| 百色市| 肃宁县| 鄂托克旗| 芜湖县| 丽水市| 阿拉善左旗| 出国| 北京市|