java--時間淺談

        最近一直忙着實習,整理了好多東西,可是一直都沒有時間去寫。今天分享的是關於java的時間函數。主要內容就是java API中的時間類,和SQL中的時間函數。

java API中的時間類主要有:

    java.util.Date;

    java.sql.Date;

    java.util.Calendar'

    java.text.SimpleDateFormat

   java.util.Date 就是在除了SQL語句的情況下面使用,java.sql.Date 是針對SQL語句使用的,它只包含日期而沒有時間部分它都有getTime方法返回毫秒數,自然就可以直接構建
      java.util.Date d = new java.util.Date(sqlDate.getTime());
      java.util.Date 是 java.sql.Date 的父類(注意拼寫)
前者是常用的表示時間的類,我們通常格式化或者得到當前時間都是用他,後者之後在讀寫數據庫的時候用他,因爲PreparedStament的setDate()的第2參數和ResultSet的getDate()方法的第2個參數都是java.sql.Date 轉換是
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());
反過來是一樣的

      繼承關係:java.lang.Object -> java.util.Date -> java.sql.Date
     具體的轉換關係就是java.util.Date d=new java.util.Date (new Java.sql.Date());

    這些東西是比較有用的。

     java.util.Calendar, java.text.SimpleDateFormat用的最多的是時間轉換。於是我就利用一個下午的時間好好收集了資料然後封裝好一個,如果有什麼不好的地方大家可以給我回復。

   //注意HH與hh含認不同,HH表示以24小時製取,hh表示以12小時製取

 2:SQL中的時間函數。

 

MySql的時間類型有         Java中與之對應的時間類型
date                                                java.sql.Date

Datetime                                       java.sql.Timestamp

Timestamp                                   java.sql.Timestamp

Time                                              java.sql.Time

Year                                               java.sql.Date

 

date:        只記錄日期信息,表示範圍爲1000-01-01  9999-12-31。"YYYY-MM-DD"

DateTime    與Date最主要的區別在於:DateTime 可以記錄日期和時間信息。而Date只記錄日期信息。表示範圍爲: 1000-01-01 00:00:00 至 9999-12-31 23:59:59  "YYYY-MM-DD HH:MM:SS";

TimeStamp   與DateTime類型非常相似 範圍爲1970-01-01 –2037年,精度爲1秒/如果在Sql中未對Timestamp類型的列賦值,該列將被構造成當前時間。提交NULL值也會使該列以當前時間錄入。如果時間提交錯誤,該列將被填入0.Timestamp比DateTime 類型所需的存儲空間更小,只需要4個字節,而DateTime需要8個字節。但是有一點需要特別注意。Timestamp只能表示時間範圍爲1970 -2037.   “YYYY-MM-DD HH:MM:SS”

Time          只記錄時間信息,不包含日期信息。範圍爲-838:59:59 到 838:59:59,  "HH:MM:SS”,

 

由於不同的數據庫的時間函數不相同:我的建議是儘量參考W3C school中的文檔。具體我不多做介紹了!大家應該都很瞭解

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章