1. 程式人生 > >重學java---3---有關時間的操作類

重學java---3---有關時間的操作類

java中有關時間的類如下:
1. java.util.Date //程式碼精確到毫秒的時間例項
2. java.sql.Time //資料庫操作時用
3. java.sql.Timestamp //資料庫操作時用
4. java.sql.Date //資料庫操作的時間
5. java.util.Canlendar //抽象類,用於操作日曆
6. java.util.GregorianCalendar //具體類繼承自Canlendar
7. java.text.DateFormat //日期格式化時用
8. java.text.SimpleDateFormat //繼承自Dateformat


Date

構造方法

  1. Date()
  2. Date(long date)

常用方法

  1. boolean after(ate when)
  2. boolean before(Date when)
  3. long getTime() //返回時間例項的毫秒long值
  4. setTime(long time) //通過long值毫秒設定時間

注意:
1. 有關獲取、設定年,月,日等的方法被Canlendar及其子類所取代
2. 有關時間格式的設定,被DateFormat及其子類所取代


Time TimeStamp

兩者都允許jdbc將其作為SQL的標識值,time更多應用精確到秒的操作,而TimeStamp為時間戳,提供了精確到毫秒的獲取與設定

int getNanos();
void setNanos();


Canlendar

日曆類是一個抽象類,提供如下內容
1. 與時間(日曆)操作相關的常量
2. 與時間(日曆)操作相關的方法

常用方法

  1. void add(int field, int amount) //在當前時間的 field 值上加上amount。
  2. int get(int field) //獲取當前時間的 field 的值
  3. static Canlendar getInstance() //獲取當下時間的例項
  4. static Canlendar getInstance(TimeZone zone) //根據時區獲取當下時間例項
  5. Date getTime() //獲取當前日曆物件對應的Date例項
  6. getTimeInMillis() //獲取當前日曆物件的毫秒值
  7. setTime(Date date) //通過Date設定日曆例項
  8. void set(int field, int value)
  9. void set(int year, int month, int date, int hourOfDay, int minute)
  10. void set(int year, int month, int date, int hourOfDay, int minute, int second)

GregorianCanlendar

這是Canlendar的具體實現類

構造方法

  1. GregorianCalendar()
  2. GregorianCalendar(int year, int month, int dayOfMonth)
  3. GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
  4. GregorianCalendar(TimeZone zone)

、、、好像只能指定精確到秒


DateFormat SimpleDateFormat

用於日期的格式化,後者是前的具體實現類。

構造方法

SimpleDateFormat(String pattern)

常用方法

  1. String format(Date date)
  2. Date parse(String source)

Date field 與 字母的對映

  1. y 年
  2. M 月
  3. w 年中的周
  4. W 月中的周
  5. D 年中的天
  6. d 月中的天
  7. H 24小時制
  8. h 12小時制
  9. m 分
  10. s 秒
  11. S 毫秒

  1. System.currentTimeMillis() //獲取系統當前時間long值