java面試題七-時間和日期.docx

java面試題七-時間和日期.docx

ID:50853163

大小:40.73 KB

頁數(shù):23頁

時間:2020-03-15

java面試題七-時間和日期.docx_第1頁
java面試題七-時間和日期.docx_第2頁
java面試題七-時間和日期.docx_第3頁
java面試題七-時間和日期.docx_第4頁
java面試題七-時間和日期.docx_第5頁
資源描述:

《java面試題七-時間和日期.docx》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、日期和時間的處理不僅在面試題中會考到,在實(shí)際項(xiàng)目開發(fā)中也是我們經(jīng)常需要處理的問題,似乎沒有哪個項(xiàng)目可以避開它們,我們常常在處理用戶的出生年月日、注冊日期,訂單的創(chuàng)建時間等屬性時用到,由此可見其重要性。?2a%j:{1g9N"i#Pjava.util.Date類?0t??]:I+}"j8A#d-e$Q提到日期和時間,我想大家最先想到應(yīng)該是java.util.Date類吧。Date類可以精確到毫秒數(shù),這個毫秒數(shù)是相對于格林威治標(biāo)準(zhǔn)時間“1970-01-0100:00:00.000GMT”的差值。那么,什么是格林威

2、治標(biāo)準(zhǔn)時間呢?要回答這個問題,我們需要先來了解一下世界時間標(biāo)準(zhǔn)方面的知識。?$d$h0E$B*d(Z2N/:r:k世界時間標(biāo)準(zhǔn)主要有UTC,即CoordinatedUniversalTime(中文名譯作世界協(xié)調(diào)時間、世界統(tǒng)一時間或世界標(biāo)準(zhǔn)時間),以及GMT,即GreenwichMeanTime(中文名譯作格林威治標(biāo)準(zhǔn)時間或格林威治平均時間)兩種。嚴(yán)格來講,UTC比GMT更加精確一些,不過它們的差值不會超過0.9秒,如果超過了,將會為UTC增加閏秒以與GMT,也就是地球自轉(zhuǎn)周期保持一致。所以在日常使用中,我們

3、可以把UTC和GMT一樣看待。?'`$D3k#R0R$G$O1~日期和時間的表示是與我們所處的時區(qū)相關(guān)聯(lián)的,如果我們不指定時區(qū),那么它們將以系統(tǒng)默認(rèn)的時區(qū)來顯示。我們先來看看如何創(chuàng)建日期對象。Date類有很多個構(gòu)造器方法,大部分已經(jīng)不被贊成使用了(Deprecated),不過還剩下兩個可以使用的:?.r%B1H8z,{*E.PJava代碼?publicDate(){??+?+w,f,g,A&h1V%}#y??this(System.currentTimeMillis());??1a6_4y#F-?&d:E!n

4、%d5f}??#[9w/O3e,"o:A#H??)i+u+v*n7`/r)MpublicDate(longdate){??'~,u!h+P??F??G'C??//othercode??}??9]6a#w6E%b4B;H/g*upublicDate(){??this(System.currentTimeMillis());}0d-^"I7V.q3c-H&~'y1t"v$D??ZpublicDate(longdate){??//othercode},O'C%p$D%[!M5},{;}"F.@&m-B4第一個是

5、無參構(gòu)造器,使用系統(tǒng)當(dāng)前時間的毫秒數(shù)來創(chuàng)建Date對象,它調(diào)用了java.lang.System類的currentTimeMillis()來取得系統(tǒng)的當(dāng)前時間的毫秒值。這是個本地方法,它的定義如下:?+B3z3z4y(l)zJava代碼?0Z/};[#@!]8

6、publicstaticnativelongcurrentTimeMillis();??)E;O??D3T-H2K??U0tpublicstaticnativelongcurrentTimeMillis();#A-Q-y1I4y*t3A5W第二個構(gòu)造器

7、是根據(jù)給定的毫秒數(shù)來創(chuàng)建一個與之對應(yīng)的Date對象,這個毫秒數(shù)決定了被創(chuàng)建對象的年、月、日、時、分、秒屬性的值。?,w*}4^&Z??`:q我們來看看日期和時間在默認(rèn)時區(qū)下的顯示效果:?Java代碼?7w8Z6b/Z2m6[importjava.util.Date;????publicclassDateTest{????publicstaticvoidmain(String[]args){??)?9t+@"s7H3h&d1y/W??????Dated=newDate();??1g&l"G#T*J![?????

8、?//在默認(rèn)時區(qū)下輸出日期和時間值??+c6`1o7T$f"[&l,m.b??????System.out.println(d);??!x"E!N7^0A1G??}??5y??E1L7a7p7P:~'N9Z}??importjava.util.Date;publicclassDateTest{????publicstaticvoidmain(String[]args){3d-v8N!K-N????????Dated=newDate();????????//在默認(rèn)時區(qū)下輸出日期和時間值2i2{#r??t7F3J

9、7F#J/C????????System.out.println(d);2i#&N._(^;L*u1b????}'C'D,C4S&