JAVA日期與時間

來源:互聯網
上載者:User

標籤:開發   text   this   設定   直接   正則表達   預設   格式化   擷取   

一:java.util.Data 包

Data對象表示一個精確到毫秒的瞬間。

下面我僅介紹它還剩下的為數不多的幾個方法(這些方法的共同點是Date與毫秒值的轉換):

構造方法:

  • Date(): 在底層調用System.currentTimeMillis()作為日期參數
  • Date(long date): 根據指定的long整數(從1970-1-1 00:00:00以來經過的毫秒數)來產生Date對象.

方法

  • boolean after(Date when): 測試this日期是否在指定日期when之後;
  • boolean before(Date when): 測試this日期是否在指定日期when之前;
  • long getTime(): 擷取從1979-01-01 00:00:00 到Date對象之間經過的毫秒值;
  • void setTime(long time): 設定時間,time含義上同.

二:java.util.calendar 包

由於Data存在很多的缺陷,因此提供了一個calendar抽象類別來處理日期和時間。是所有日曆類的模板,因此,我們可以繼承Calendar來實現其他的曆法(比如陰曆)。

Java中提供了一種Calendar的預設實現java.util.GregorianCalendar格裡高利日曆(其實JDK還預設提供了一款日本曆法java.util.JapaneseImperialCalendar),也就是我們所說的西曆. 使用

Calendar.getInstance();擷取的就是預設的GregorianCalendar,getInstance()方法的內部會調用cal = new GregorianCalendar(zone, aLocale);來產生一個格裡高利日曆執行個體.

下面介紹常用的方法:

  • void add(int field, int amount)  根據日曆的規則,將指定的時間量添加或減去給定的日曆欄位。field是Calendar類的類變數, 如:Calendar.DATECalendar.MONTHCalendar.HOURCalendar.DAY_OF_WEEK。但需要指出的是Calendar.MONTH月份的起始值不是1, 而是0(一月:0, 二月:1 …), Calendar.DAY_OF_WEEK代表的星期, 起始值是周日(周日:1, 周一:2 …) ;讓amount為正數, 如果要減少某欄位的值, 讓amount為負數. 且當超出他的允許範圍時, 會發生進位.
  • int get(int field)  返回給定日曆欄位的值。
  • int getActualMaximum(int field)  給定日曆日曆的時間值,返回指定日曆欄位可以擁有的最大值。
  • int getActualMinimum(int field) 給定日曆日曆的時間值,返回指定日曆欄位可以擁有的最小值
  • void roll(int field, int amount)  將指定的(簽名)數量添加到指定的日曆欄位,而不更改較大的欄位。
  • void set(int field, int value) 將給定的日曆欄位設定為給定值。
  • void set(int year, int month, int date) 設定日曆欄位年、月和月的月份值。
  • void set(int year, int month, int date, int hourOfDay, int minute, int second) 設定欄位年、月、日、月、小時、分鐘和秒的值。
  • void setTimeInMillis(long millis)從給定的長值設定此日曆的目前時間。
  • long getTimeInMillis() 以毫秒返回此日曆的時間值。

詳細文檔介紹:https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html

三:java.text.DateFormat

java.text.DateFormat包用於日期格式化,是一個抽象類別

方法:

  • static DateFormat getDateInstance()擷取預設格式的預設格式化樣式的日期格式化程式。
  • static DateFormat getDateTimeInstance()擷取具有預設區域設定的預設格式化樣式的日期/時間格式化程式。
  • static DateFormat getTimeInstance()擷取具有預設區域設定的預設格式化樣式的時間格式化程式。

但由於在我們的實際開發中很少直接用DateFormat類,而我們比較常用的是其子類SimpleDateFormat。

四:java.text.SimpleDateFormat.

java.text.SimpleDateFormat可以非常靈活的格式化Date, 也可以用於解析各種格式的日期文字.建立SimpleDateFormat對象時需要傳入一個pattern字串,這個pattern不是Regex,而是一個日期模板字串.

方法:

  • String format(Date date) 將日期格式化為日期/時間字串。
  • Date parse(String source) 從給定字串的起始處解析文本以產生日期。

詳細文檔介紹:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#number

JAVA日期與時間

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.