Java日期和時間類簡介
Java 的日期和時間類位於 java.util 包中。利用日期時間類提供的方法,可以獲取當前的日期和時間,建立日期和時間引數,計算和比較時間。
請看一個顯示日期時間的例子:
執行結果:
Mon Feb 05 22:50:05 CST 2007
從1970年1月1日0時到現在共有:1170687005390 毫秒
一些比較常用的 Date 類方法:
Date 物件表示時間的預設順序是星期、月、日、小時、分、秒、年。若需要修改時間顯示的格式可以使用“SimpleDateFormat(String pattern)”方法。
例如,用不同的格式輸出時間:
執行結果:
Sun Jan 04 17:31:36 CST 2015
2015 年 01 月 04 日 星期日 北京時間
北京時間:1970 年 01 月 01 日 07 時 59 分 59 秒
Calendar calendar=Calendar.getInstance();
該物件可以呼叫下面的方法將日曆翻到指定的一個時間:
若要呼叫有關年份、月份、小時、星期等資訊,可以通過呼叫下面的方法實現:
int get(int field);
其中,引數 field 的值由 Calendar 類的靜態常量決定。其中:YEAR 代表年,MONTH 代表月,HOUR 代表小時,MINUTE 代表分,如:
calendar.get(Calendar.MONTH);
如果返回值為 0 代表當前日曆是一月份,如果返回 1 代表二月份,依此類推。
由 Calendar 定義的一些常用方法如下表所示:
GregorianCalendar 類定義了兩個欄位:AD 和 BC,分別代表公元前和公元后。其預設的構造方法 GregorianCalendar() 以預設的地域和時區的當前日期和時間初始化物件,另外也可以指定地域和時區來建立一個 GregorianCalendar 物件,例如:
GregorianCalendar 類提供了 Calendar 類中所有的抽象方法的實現,同時還提供了一些附加的方法,其中用來判斷閏年的方法為:
Boolean isLeapYear(int year);
如果 year 是閏年,該方法返回 true,否則返回 false。
Date 類
Date 類是 Java 中的日期時間類,其構造方法比較多,下面是常用的兩個:- Date():使用當前的日期和時間初始化一個物件。
- Date(long millisec):從1970年01月01日00時(格林威治時間)開始以毫秒計算時間,計算 millisec 毫秒。如果執行 Java 程式的本地時區是北京時區(與格林威治時間相差 8 小時),Date dt1=new Date(1000);,那麼物件 dt1 就是1970年01月01日08時00分01秒。
請看一個顯示日期時間的例子:
- import java.util.Date;
- public class Demo{
- public static void main(String args[]){
- Date da=new Date(); //建立時間物件
- System.out.println(da); //顯示時間和日期
- long msec=da.getTime();
- System.out.println("從1970年1月1日0時到現在共有:" + msec + "毫秒");
- }
- }
Mon Feb 05 22:50:05 CST 2007
從1970年1月1日0時到現在共有:1170687005390 毫秒
一些比較常用的 Date 類方法:
方法 | 功能 |
---|---|
boolean after(Date date) | 若呼叫 Date 物件所包含的日期比 date 指定的物件所包含的日期晚,返回 true,否則返回 false。 |
boolean before(Date date) | 若呼叫 Date 物件所包含的日期比 date 指定的物件所包含的日期早,返回 true,否則返回 false。 |
Object clone() | 複製呼叫 Date 物件。 |
int compareTo(Date date) | 比較呼叫物件所包含的日期和指定的物件包含的日期,若相等返回 0;若前者比後者早,返回負值;否則返回正值。 |
long getTime() | 以毫秒數返回從 1970 年 01 月 01 日 00 時到目前的時間。 |
int hashCode() | 返回撥用物件的雜湊值。 |
void setTime(long time) | 根據 time 的值,設定時間和日期。time 值從 1970 年 01 月 01 日 00 時開始計算。 |
String toString() | 把呼叫的 Date 物件轉換成字串並返回結果。 |
public Static String valueOf(type variable) | 把 variable 轉換為字串。 |
例如,用不同的格式輸出時間:
- import java.util.Date;
- import java.text.SimpleDateFormat;
- public class Demo{
- public static void main(String args[]){
- Date da=new Date();
- System.out.println(da);
- SimpleDateFormat ma1=new SimpleDateFormat("yyyy 年 MM 月 dd 日 E 北京時間");
- System.out.println(ma1.format(da));
- SimpleDateFormat ma2=new SimpleDateFormat("北京時間:yyyy 年 MM 月 dd 日 HH 時 mm 分 ss 秒");
- System.out.println(ma2.format(-1000));
- }
- }
Sun Jan 04 17:31:36 CST 2015
2015 年 01 月 04 日 星期日 北京時間
北京時間:1970 年 01 月 01 日 07 時 59 分 59 秒
Calendar 類
抽象類 Calendar 提供了一組方法,允許把以毫秒為單位的時間轉換成一些有用的時間組成部分。Calendar 不能直接建立物件,但可以使用靜態方法 getInstance() 獲得代表當前日期的日曆物件,如:Calendar calendar=Calendar.getInstance();
該物件可以呼叫下面的方法將日曆翻到指定的一個時間:
- void set(int year,int month,int date);
- void set(int year,int month,int date,int hour,int minute);
- void set(int year,int month,int date,int hour,int minute,int second);
int get(int field);
其中,引數 field 的值由 Calendar 類的靜態常量決定。其中:YEAR 代表年,MONTH 代表月,HOUR 代表小時,MINUTE 代表分,如:
calendar.get(Calendar.MONTH);
如果返回值為 0 代表當前日曆是一月份,如果返回 1 代表二月份,依此類推。
由 Calendar 定義的一些常用方法如下表所示:
方法 | 功能 |
---|---|
abstract void add(int which,int val) | 將 val 加到 which 所指定的時間或者日期中,如果需要實現減的功能,可以加一個負數。which 必須是 Calendar 類定義的欄位之一,如 Calendar.HOUR |
boolean after(Object calendarObj) | 如果呼叫 Calendar 物件所包含的日期比 calendarObj 指定的物件所包含的日期晚,返回 true,否則返回 false |
boolean before(Object calendarObj) | 如果呼叫 Calendar 物件所包含的日期比 calendarObj 指定的物件所包含的日期早,返回 true,否則返回 false |
final void clear() | 對呼叫物件包含的所有時間組成部分清零 |
final void clear(int which) | 對呼叫物件包含的 which 所指定的時間組成部分清零 |
boolean equals(Object calendarObj) | 如果呼叫 Calendar 物件所包含的日期和 calendarObj 指定的物件所包含的日期相等,返回 true,否則返回 false |
int get(int calendarField) | 返回撥用 Calendar 物件的一個時間組成部分的值,這個組成部分由 calendarField指定,可以被返回的組成部分如:Calendar.YEAR,Calendar.MONTH 等 |
static Calendar getInstance() | 返回使用預設地域和時區的一個 Calendar 物件 |
final Date getTime() | 返回一個和呼叫物件時間相等的 Date 物件 |
final boolean isSet(int which) | 如果呼叫物件所包含的 which 指定的時間部分被設定了,返回 true,否則返回 false |
final void set(int year,int month) | 設定呼叫物件的各種日期和時間部分 |
final void setTime(Date d) | 從 Date 物件 d 中獲得日期和時間部分 |
void setTimeZone(TimeZone t) | 設定呼叫物件的時區為 t 指定的那個時區 |
GregorianCalendar 類
GregorianCalendar 是一個具體實現 Calendar 類的類,該類實現了公曆日曆。Calendar 類的 getInstance() 方法返回一個 GregorianCalendar,它被初始化為預設的地域和時區下的當前日期和時間。GregorianCalendar 類定義了兩個欄位:AD 和 BC,分別代表公元前和公元后。其預設的構造方法 GregorianCalendar() 以預設的地域和時區的當前日期和時間初始化物件,另外也可以指定地域和時區來建立一個 GregorianCalendar 物件,例如:
- GregorianCalendar(Locale locale);
- GregorianCalendar(TimeZone timeZone);
- GregorianCalendar(TimeZone timeZone,Locale locale);
Boolean isLeapYear(int year);
如果 year 是閏年,該方法返回 true,否則返回 false。
相關文章
- Java日期和時間Java
- 日期時間類
- Java 8 日期和時間的APIJavaAPI
- Java 日期和時間 API:實用技巧與示例 - 輕鬆處理日期和時間JavaAPI
- 日期和時間
- LocalDate,LocalDateTime和處理時間、日期工具類LDA
- 日期和時間格式
- Python 日期和時間Python
- datetime日期和時間
- Java 中的時間日期 APIJavaAPI
- Java 8 的時間日期 APIJavaAPI
- Java 8 的日期時間工具Java
- Java 常用類-程式設計師頭大的日期時間APIJava程式設計師API
- Calendar類在Java中的應用與日期時間處理Java
- 《Java 8 in Action》Chapter 12:新的日期和時間APIJavaAPTAPI
- Qt:獲取日期和時間QT
- 【Python基礎】日期和時間Python
- C# 基礎知識系列- 13 常見類庫介紹(二)日期時間類C#
- java時間工具類Java
- Pandas中時間和日期處理
- GO語言————4.8 時間和日期Go
- MySQL 的日期和時間函式MySql函式
- 字串和日期時間的處理字串
- 簡易實用的JavaScript日期時間操作!JavaScript
- Java日期類分析Java
- win10如何修改時間日期格式 調整時間格式和日期格式的方法Win10
- iOS日期時間iOS
- 細說PHP筆記08(第12章)--日期和時間,建立時間戳,mktime轉換unix時間戳,獲取字串時間,獲得日期和時間資訊,日期和時間格式化輸出,microtime()獲取微秒數PHP筆記時間戳字串
- Java 陣列、Java 日期時間、Java 正規表示式、Java 方法Java陣列
- java8 – 新的時間日期API示例JavaAPI
- Java8新特性之日期-時間APIJavaAPI
- java8 新特性之日期時間 APIJavaAPI
- SQL Server中的日期和時間:DATEADD()SQLServer
- Python之時間和日期使用小結Python
- 讓history命令顯示日期和時間
- Python 輸出當前日期和時間Python
- Go基礎-時間和日期函式Go函式
- XSD 日期和時間資料型別資料型別
- JavaScript 日期和時間的格式化JavaScript