重學java---3---有關時間的操作類
阿新 • • 發佈:2018-11-06
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
構造方法
- Date()
- Date(long date)
常用方法
- boolean after(ate when)
- boolean before(Date when)
- long getTime() //返回時間例項的毫秒long值
- setTime(long time) //通過long值毫秒設定時間
注意:
1. 有關獲取、設定年,月,日等的方法被Canlendar及其子類所取代
2. 有關時間格式的設定,被DateFormat及其子類所取代
Time TimeStamp
兩者都允許jdbc將其作為SQL的標識值,time更多應用精確到秒的操作,而TimeStamp為時間戳,提供了精確到毫秒的獲取與設定
int getNanos();
void setNanos();
Canlendar
日曆類是一個抽象類,提供如下內容
1. 與時間(日曆)操作相關的常量
2. 與時間(日曆)操作相關的方法
常用方法
- void add(int field, int amount) //在當前時間的 field 值上加上amount。
- int get(int field) //獲取當前時間的 field 的值
- static Canlendar getInstance() //獲取當下時間的例項
- static Canlendar getInstance(TimeZone zone) //根據時區獲取當下時間例項
- Date getTime() //獲取當前日曆物件對應的Date例項
- getTimeInMillis() //獲取當前日曆物件的毫秒值
- setTime(Date date) //通過Date設定日曆例項
- void set(int field, int value)
- void set(int year, int month, int date, int hourOfDay, int minute)
- void set(int year, int month, int date, int hourOfDay, int minute, int second)
GregorianCanlendar
這是Canlendar的具體實現類
構造方法
- GregorianCalendar()
- GregorianCalendar(int year, int month, int dayOfMonth)
- GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
- GregorianCalendar(TimeZone zone)
、、、好像只能指定精確到秒
DateFormat SimpleDateFormat
用於日期的格式化,後者是前的具體實現類。
構造方法
SimpleDateFormat(String pattern)
常用方法
- String format(Date date)
- Date parse(String source)
Date field 與 字母的對映
- y 年
- M 月
- w 年中的周
- W 月中的周
- D 年中的天
- d 月中的天
- H 24小時制
- h 12小時制
- m 分
- s 秒
- S 毫秒
- System.currentTimeMillis() //獲取系統當前時間long值