<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yxhxj2006

    常用鏈接

    統(tǒng)計

    最新評論

    java中的日期和sql中的日期轉換以及java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp區(qū)別和聯(lián)系

    將"yyyy-mm-dd"格式的字符串轉換為java.sql.Date:

    SimpleDateFormat bartDateFormat =   new SimpleDateFormat("yyyy-MM-dd");  
    String dateStringToParse = "2007-7-12";  
    try{  
           java.util.Date date = bartDateFormat.parse(dateStringToParse);  
           java.sql.Date sqlDate = new java.sql.Date(date.getTime());
           System.out.println(sqlDate.getTime());  
     
    catch (Exception ex) {  
         System.out.println(ex.getMessage());  
    }

     

    java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp區(qū)別和聯(lián)系:

     

    在java有關的項目開發(fā)工作中,我們常常要java.util.Date,  java.util.Calendar,   java.sql.Date,    java.sql.Time,   java.sql.Timestamp等幾個類進行日期的處理和分析,那么這幾個函數(shù)之間有什么樣的聯(lián)系,它們又有什么區(qū)別呢?

    首先來說說它們之間的關系,java.util.Date這個類是java.sql.Date,  java.sql.Time,  java.slq.Timestamp這三個類的父類。這三個類對java.util.Date類進行了包裝。

    java.sql.Date類屏蔽了java.util.Date類的時間有關的方法(形如:hh:mm:ss),因此,不可以通過這個類訪問時間有關的信息,比如,如果你通過sqlDate.getHour()方法去訪問小時信息,此方法會拋出一個IllegalArgumentException異常。這是因為java.sql.Date在繼承java.util.Date類的時候對父類進行了重寫,禁用了時間訪問的方法。之所以這么處理,是為了和數(shù)據(jù)庫的Date數(shù)據(jù)類型相匹配,數(shù)據(jù)庫的Date數(shù)據(jù)類行只是保存日期有關的字段。

    Java.sql.Time類屏蔽了java.util.Date的日期有關的字段(形如:yyyy-MM-dd),因此,不能通過這個類訪問日期有關的信息,比如:如果你通過sqlTime.getYear()方法去獲取年有關的信息,此方法會拋出一個IllegalArgumentException異常。這是因為java.sql.Time在繼承java.util.Date類的時候對父類進行了重寫,禁用了日期訪問的方法。之所以這么處理,是為了和數(shù)據(jù)庫的Time數(shù)據(jù)類型相匹配,數(shù)據(jù)庫的Time數(shù)據(jù)類行只是保存時間有關的字段。

    Java.sql.Timestamp字段則對java.util.Date這個類進行了擴充,它在java.util.Date類的基礎上增加了毫秒的時間訪問控制,因此,你可以通過getNanos()方法去獲取時間的毫微秒數(shù)(注意此處獲取的時間是以毫微秒為單位的,1秒等于十億毫微秒),同樣的,這也是為了和數(shù)據(jù)庫中的Timestamp數(shù)據(jù)類型進行匹配。

    理清了上述四個類的關系,那么java.util.Date和java.util.Calendar類有什么關系呢?

    Java.util.Calendar類是java.util.Date類的一個更加深入,更加全面的替代。Java.util.Calendar類支持java.util.Date的所有功能,此外,Calendar還引入了多語言,多區(qū)域的特性,可以根據(jù)需要獲取不同區(qū)域,不同時區(qū)的時間,Calendar還增加了比Date更加方便和快捷的許多操作,如獲取一年當中的第幾個星期,各個月的天數(shù)等便捷的方法。

    Java.util.Calendar區(qū)別與java.util.Date的幾個地方也需要注意一下:首先,Calendar增加了毫秒的時間段,通過它可以獲取時間點的毫秒值,而java.util.Date只是精確到秒。其次,Calendar過去年的時候是當前年份比如:2010,而Date獲取年份的時獲取到的是當前年份-1900的一個值(2010-1900=110,因此,你調用getYear后過去的值就是110)。最后Calendar是一個抽象類,之所以能夠實例化,是因為此處的Calendar充當了一個類似于工廠的作用,在getInstance方法中實例化了Calendar子類GregorianCalendar,并把它返回給客戶使用。

    posted on 2012-08-01 18:33 奮斗成就男人 閱讀(533) 評論(0)  編輯  收藏


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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲色欲色欲www在线播放| 视频一区在线免费观看| 天堂在线免费观看中文版| 日本亚洲中午字幕乱码 | 国产成人免费网站在线观看| 国产成人久久精品亚洲小说| 亚洲国产精品无码久久SM| 91精品免费久久久久久久久| 国产精品无码亚洲精品2021| 国产成人亚洲综合色影视| 成人女人A级毛片免费软件| 九一在线完整视频免费观看| 精品亚洲麻豆1区2区3区| 四虎影视永久免费观看网址| 久久久久久国产精品免费免费男同| 亚洲码和欧洲码一码二码三码| 亚洲色欲色欲www在线丝| 青青草无码免费一二三区| 直接进入免费看黄的网站| 67pao强力打造67194在线午夜亚洲| 国产又长又粗又爽免费视频| 国产精品免费无遮挡无码永久视频 | 亚洲欧洲中文日韩久久AV乱码 | 国产成人精品免费视频大全麻豆| 免费国产在线精品一区| 亚洲国产综合在线| 亚洲色偷拍区另类无码专区| 久久不见久久见免费影院| 国产婷婷成人久久Av免费高清 | 亚洲国产成人精品无码区在线秒播 | 一级做a爰全过程免费视频| 日本永久免费a∨在线视频| 亚洲情A成黄在线观看动漫软件 | 日韩电影免费在线观看视频| 99ee6热久久免费精品6| 久久国产乱子伦精品免费午夜 | 亚洲三级在线观看| 亚洲理论片在线中文字幕| 亚洲中文字幕无码久久精品1 | 久久久亚洲AV波多野结衣| 中文字幕精品亚洲无线码二区|