本篇內容介紹了“Java怎么獲取當前日期時間”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Java 日期時間
java.util包提供了Date類來封裝當前的日期和時間。 Date類提供兩個構造函數來實例化Date對象。
第一個構造函數使用當前日期和時間來初始化對象:Date( )
第二個構造函數接收一個參數,該參數是從1970年1月1日起的微秒數:Date(long millisec)
。。。
Date對象創建以后,可以調用下面的方法。
序號方法 描述
1 boolean after(Date date) 若當調用此方法的Date對象在指定日期之后返回true,否則返回false。
2 boolean before(Date date) 若當調用此方法的Date對象在指定日期之前返回true,否則返回false。
3 Object clone( ) 返回此對象的副本。
4int compareTo(Date date) 比較當調用此方法的Date對象和指定日期。兩者相等時候返回0。調用對象在指定日期之前則返回負數。調用對象在指定日期之后則返回正數。
5 int compareTo(Object obj) 若obj是Date類型則操作等同于compareTo(Date) 。否則它拋出ClassCastException。
6 boolean equals(Object date) 當調用此方法的Date對象和指定日期相等時候返回true,否則返回false。
7 long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 對象表示的毫秒數。
8 int hashCode( ) 返回此對象的哈希碼值。
9 void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒數設置時間和日期。
10String toString( ) 轉換Date對象為String表示形式,并返回該字符串。
。。。
獲取當前日期時間
Java中獲取當前日期和時間很簡單,使用Date對象的 toString()方法來打印當前日期和時間,如下所示:
import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// 初始化 Date 對象
Date date = new Date();
// 使用 toString() 函數顯示日期時間
System.out.println(date.toString());
}
}
以上實例編譯運行結果如右:Mon May 04 09:51:52 CDT 2013
。。。
日期比較
Java使用以下三種方法來比較兩個日期:
-使用getTime( ) 方法獲取兩個日期(自1970年1月1日經歷的微秒數值),然后比較這兩個值。
-使用方法before(),after()和equals()。例如,一個月的12號比18號早,則new Date(99, 2, 12).before(new Date (99, 2, 18))返回true。
-使用compareTo()方法,它是由Comparable接口定義的,Date類實現了這個接口。
。。。
使用SimpleDateFormat格式化日期
http://www.iis7.com/b/wzjk/
SimpleDateFormat是一個以語言環境敏感的方式來格式化和分析日期的類。SimpleDateFormat允許你選擇任何用戶自定義日期時間格式來運行。
。。。
簡單的DateFormat格式化編碼
時間模式字符串用來指定時間格式。在此模式中,所有的ASCII字母被保留為模式字母,定義如下:
字母 描述 示例
G 紀元標記 AD
y 四位年份 2001
M 月份 July or 07
d 一個月的日期 10
h A.M./P.M. (1~12)格式小時 12
H 一天中的小時 (0~23) 22
m 分鐘數 30
s 秒數 55
S 微妙數 234
E 星期幾 Tuesday
D 一年中的日子 360
F 一個月中第幾周的周幾 2 (second Wed. in July)
w 一年中第幾周 40
W 一個月中第幾周 1
a A.M./P.M. 標記 PM
k 一天中的小時(1~24) 24
K A.M./P.M. (0~11)格式小時 10
z 時區 Eastern Standard Time
' 文字定界符 Delimiter
" 單引號 `
。。。
使用printf格式化日期
printf方法可以很輕松地格式化時間和日期。使用兩個字母格式,它以t開頭并且以下面表格中的一個字母結尾。
如果你需要重復提供日期,那么利用這種方式來格式化它的每一部分就有點復雜了。因此,可以利用一個格式化字符串指出要被格式化的參數的索引。
索引必須緊跟在%后面,而且必須以$結束?;蛘?,你可以使用<標志。它表明先前被格式化的參數要被再次使用。
。。。
日期和時間轉換字符
字符 描述 例子
c 完整的日期和時間 Mon May 04 09:51:52 CDT 2009
F ISO 8601 格式日期 2004-02-09
D U.S. 格式日期 (月/日/年) 02/09/2004
T 24小時時間 18:05:19
r 12小時時間 06:05:19 pm
R 24小時時間,不包含秒 18:05
Y 4位年份(包含前導0) 2004
y 年份后2位(包含前導0) 04
C 年份前2位(包含前導0) 20
B 月份全稱 February
b 月份簡稱 Feb
n 2位月份(包含前導0) 02
d 2位日子(包含前導0) 03
e 2位日子(不包含前導0) 9
A 星期全稱 Monday
a 星期簡稱 Mon
j 3位年份(包含前導0) 069
H 2位小時(包含前導0), 00 到 23 18
k 2位小時(不包含前導0), 0 到 23 18
I 2位小時(包含前導0), 01 到 12 06
l 2位小時(不包含前導0), 1 到 12 6
M 2位分鐘(包含前導0) 05
S 2位秒數(包含前導0) 19
L 3位毫秒(包含前導0) 047
N 9位納秒(包含前導0) 047000000
P 大寫上下午標志 PM
p 小寫上下午標志 pm
z 從GMT的RFC 822數字偏移 -0800
Z 時區 PST
s 自 1970-01-01 00:00:00 GMT的秒數1078884319
Q 自 1970-01-01 00:00:00 GMT的毫妙1078884319047
還有其他有用的日期和時間相關的類。對于更多的細節,你可以參考到Java標準文檔。
。。。
解析字符串為時間
SimpleDateFormat 類有一些附加的方法,特別是parse(),它試圖按照給定的SimpleDateFormat 對象的格式化存儲來解析字符串。
。。。
Java 休眠(sleep)
你可以讓程序休眠一毫秒的時間或者到您的計算機的壽命長的任意段時間。
。。。
測量時間
下面的一個例子表明如何測量時間間隔(以毫秒為單位):
import java.util.*;
public class DiffDemo {
public static void main(String args[]) {
try {
long start = System.currentTimeMillis( );
System.out.println(new Date( ) + "\n");
Thread.sleep(5*60*10);
System.out.println(new Date( ) + "\n");
long end = System.currentTimeMillis( );
long diff = end - start;
System.out.println("Difference is : " + diff);
} catch (Exception e) {
System.out.println("Got an exception!");
}
}
}
以上實例編譯運行結果如下:
Sun May 03 18:16:51 GMT 2009
Sun May 03 18:16:57 GMT 2009
Difference is : 5993
“Java怎么獲取當前日期時間”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。