Java中關(guān)于時間的操作主要是:
1、獲取當前時間,和某個時間進行比較。此時主要拿long型的時間值。
?方法如下:
要使用
java.util.Date
。獲取當前時間的代碼如下
Date date = new Date();
date.getTime()
;
還有一種方式,使用
System.currentTimeMillis()
;
都是得到一個當前的時間的long型的時間的毫秒值,這個值實際上是當前時間值與1970年一月一號零時零分零秒相差的毫秒數(shù)
2、獲取某種格式的日期。
方法:
獲取時間的格式,需要用到一個專門用于時間格式的類
java.text.SimpleDateFormat
。
首先,定義一個
SimpleDateFormat
變量
SimpleDateFormat sdf = new SimpleDateFormat("",Locale.SIMPLIFIED_CHINESE);
這個構(gòu)造函數(shù)的定義如下:
SimpleDateFormat(String
?
pattern, Locale
?
locale)
第一個參數(shù)
pattern
,我們后面再解釋,這里我們使用一個
"",
第二個參數(shù),是用來設(shè)置時區(qū)的,這里用到了
java.util.Locale
這個類,這個類了面定義了很多靜態(tài)變量,直接拿過來用就
OK
,我們把時區(qū)設(shè)置為
Locale.SIMPLIFIED_CHINESE
,只看名字,這個靜態(tài)變量的意義已經(jīng)很清楚了。
?
接下來我們使用這個
SimpleDateFormat
把當前時間格式化為一個如下格式的時間字符串“
XXXX
年
XX
月
XX
日
_XX
時
XX
分
XX
秒”,代碼:
sdf.applyPattern("yyyy年MM月dd日_HH時mm分ss秒");
String timeStr = sdf.format(new Date());
?
獲取時間格式的函數(shù)是
format
,這個函數(shù)的參數(shù)是
java.util.Date
對象,這個沒有什么花頭。
要說明一下的是這個
pattern
,所謂的模式。這里,
yyyy,MM,dd
等,這就是模式。
我們可以在
SimpleDateFormat
的構(gòu)造函數(shù)中指定模式,比如
SimpleDateFormat sdf = new SimpleDateFormat("
yyyy-MM-dd
",Locale.SIMPLIFIED_CHINESE);
也可以獲取時間格式的時候使用applyPattern函數(shù)臨時指定,上面的例子就是這樣。
什么字符代表什么,這是
j2se
約定好的,設(shè)置模式的時候,我們可以使用約定好的字符加上任何我們想要的字符串。
j2se
對字符所代表的模式的約定列表如下:
?
?
Letter
|
Date or Time Component
|
Presentation
|
G
|
Era designator
|
Text
|
y
|
Year
|
Year
|
M
|
Month in year
|
Month
|
w
|
Week in year
|
Number
|
W
|
Week in month
|
Number
|
D
|
Day in year
|
Number
|
d
|
Day in month
|
Number
|
F
|
Day of week in month
|
Number
|
E
|
Day in week
|
Text
|
a
|
Am/pm marker
|
Text?
|
H
|
Hour in day (0-23)
|
Number
|
k
|
Hour in day (1-24)
|
Number
|
K
|
Hour in am/pm (0-11)?
|
Number
|
h??
|
Hour in am/pm (1-12)?
|
Number
|
m??
|
Minute in hour?
|
Number
|
s??
|
Second in minute?
|
Number
|
S??
|
Millisecond?
|
Number??
|
z??
|
Time zone??
|
General time zone?
|
Z??
|
Time zone?
|
RFC 822 time zone?
|
posted on 2006-07-18 13:53
黑咖啡 閱讀(18875)
評論(1) 編輯 收藏 所屬分類:
Java Dev