類別

  1. java.util.Date
  2. java.sql.Date
  3. java.sql.Time
  4. java.sql.Timestamp
  5. -------------------------------------
  6. java.util.Calendar
  7. java.util.GregorianCalendar
  8. java.util.TimeZone
  9. java.util.SimpleTimeZone
  10. -------------------------------------
  11. java.text.DateFormat
  12. java.text.SimpleDateFormat
  13. java.text.DateFormatSymbols

應用

  1. java.util.Date 與 java.sql.Date 互轉

    java.sql.Date 就是一個裝了毫秒值的精簡型外覆器,它允許 JDBC 將毫秒值標識為 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以來經過的毫秒數。而 java.util.Date 的 getTime() 及 setTime(long time) 就是在處理毫秒值的函數。

    // java.util.Date --> java.sql.Date java.util.Date now = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(now.getTime()); // java.sql.Date --> java.util.Date java.util.Date utilDate = new java.util.Date(); utilDate.setTime(sqlDate.getTime());
  2. java.util.Date 與 java.util.Calendar 互轉

    Date 要跟 Calendar 互轉,主要都要透過 Calendar 的 getTime 及 setTime 函數。

    // java.util.Date --> java.util.Calendar java.util.Date now = new java.util.Date(); java.util.Calendar calendar = java.util.Calendar.getInstance(); calendar.setTime(now); // java.util.Calendar --> java.util.Date java.util.Date utilDate = java.util.Calendar.getInstance().getTime();
  3. java.lang.String 轉成 java.util.Date

    原本 class Date 有一個函數 parse(String s) 可以把 String 轉成毫秒數。但是從 JDK 1.1 開始,由 DateFormat.parse(String s) 取代。

    // java.lang.String --> java.util.Date java.util.Date date = DateFormat.getDateInstance().parse("2011/1/1"); date = DateFormat.getTimeInstance().parse("下午 12:12:12"); date = DateFormat.getDateTimeInstance().parse("2011/1/1 下午 12:12:12");

    但是使用 DateFormat.parse() 來解析 String 有一個壞處,就是只能使用系統環境固定的格式。像我使用 WindowsXP 台灣版本,都要輸入上午/下午才能正確解析 String。這時候就可以改用 java.text.SimpleDateFormat.parse() 來做自訂格式的解析。

    // java.lang.String --> java.util.Date java.util.Date date; java.text.SimpleDateFormat simple = new java.text.SimpleDateFormat(); simple.applyPattern("yyyy-MM-dd"); date = simple.parse("2011-1-1"); simple.applyPattern("HH:mm:ss"); date = simple.parse("13:13:13"); simple.applyPattern("yyyy-MM-dd HH:mm:ss"); date = simple.parse("2011-1-1 13:13:13");

    參考網址: http://javatechniques.com/blog/dateformat-and-simpledateformat-examples/

  4. java.util.Date 轉成 java.lang.String

    java.util.Date 要轉成 java.lang.String 就比較簡單了。只要使用 java.text.SimpleDateFormat 的 format 函數就可以。

    // java.util.Date --> java.lang.String java.util.Date now = new java.util.Date(); System.out.println(new java.text.SimpleDateFormat().format(now)); System.out.println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now));

台南小新 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • 訪客
  • 很實用,感謝你的整理!