




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
JAVA面試題解惑系列(七)日期和時(shí)間的處理日期和時(shí)間的處理不僅在面試題中會考到,在實(shí)際項(xiàng)目開發(fā)中也是我們經(jīng)常需要處理的問題,似乎沒有哪個(gè)項(xiàng)目可以避開它們,我們常常在處理用戶的出生年月日、注冊日期,訂單的創(chuàng)建時(shí)間等屬性時(shí)用到,由此可見其重要性。 java.util.Date類 提到日期和時(shí)間,我想大家最先想到應(yīng)該是java.util.Date類吧。Date類可以精確到毫秒數(shù),這個(gè)毫秒數(shù)是相對于格林威治標(biāo)準(zhǔn)時(shí)間“1970-01-01 00:00:00.000 GMT”的差值。那么,什么是格林威治標(biāo)準(zhǔn)時(shí)間呢?要回答這個(gè)問題,我們需要先來了解一下世界時(shí)間標(biāo)準(zhǔn)方面的知識。 世界時(shí)間標(biāo)準(zhǔn)主要有UTC,即Coordinated Universal Time(中文名譯作世界協(xié)調(diào)時(shí)間、世界統(tǒng)一時(shí)間或世界標(biāo)準(zhǔn)時(shí)間),以及GMT,即Greenwich Mean Time(中文名譯作格林威治標(biāo)準(zhǔn)時(shí)間或格林威治平均時(shí)間)兩種。嚴(yán)格來講,UTC比GMT更加精確一些,不過它們的差值不會超過0.9秒,如果超過了,將會為UTC增加閏秒以與GMT,也就是地球自轉(zhuǎn)周期保持一致。所以在日常使用中,我們可以把UTC和GMT一樣看待。 日期和時(shí)間的表示是與我們所處的時(shí)區(qū)相關(guān)聯(lián)的,如果我們不指定時(shí)區(qū),那么它們將以系統(tǒng)默認(rèn)的時(shí)區(qū)來顯示。我們先來看看如何創(chuàng)建日期對象。Date類有很多個(gè)構(gòu)造器方法,大部分已經(jīng)不被贊成使用了(Deprecated),不過還剩下兩個(gè)可以使用的: Java代碼 1. publicDate() 2. this(System.currentTimeMillis(); 3. 4. 5. publicDate(longdate) 6. /othercode 7. public Date() this(System.currentTimeMillis();public Date(long date) /other code第一個(gè)是無參構(gòu)造器,使用系統(tǒng)當(dāng)前時(shí)間的毫秒數(shù)來創(chuàng)建Date對象,它調(diào)用了java.lang.System類的currentTimeMillis()來取得系統(tǒng)的當(dāng)前時(shí)間的毫秒值。這是個(gè)本地方法,它的定義如下: Java代碼 1. publicstaticnativelongcurrentTimeMillis();public static native long currentTimeMillis();第二個(gè)構(gòu)造器是根據(jù)給定的毫秒數(shù)來創(chuàng)建一個(gè)與之對應(yīng)的Date對象,這個(gè)毫秒數(shù)決定了被創(chuàng)建對象的年、月、日、時(shí)、分、秒屬性的值。 我們來看看日期和時(shí)間在默認(rèn)時(shí)區(qū)下的顯示效果: Java代碼 1. importjava.util.Date; 2. 3. publicclassDateTest 4. publicstaticvoidmain(Stringargs) 5. Dated=newDate(); 6. /在默認(rèn)時(shí)區(qū)下輸出日期和時(shí)間值 7. System.out.println(d); 8. 9. import java.util.Date;public class DateTest public static void main(String args) Date d = new Date();/ 在默認(rèn)時(shí)區(qū)下輸出日期和時(shí)間值System.out.println(d);運(yùn)行結(jié)果: Tue Jul 22 10:44:47 CST 2008 大家應(yīng)該注意到了年份前的“CST”標(biāo)識,它是China Standard Time的縮寫,指的是中國標(biāo)準(zhǔn)時(shí)間,也就是我們常說的北京時(shí)間。它與UTC的時(shí)差是UTC+8:00,就是說北京時(shí)間比世界標(biāo)準(zhǔn)時(shí)間早8個(gè)小時(shí),如果世界標(biāo)準(zhǔn)時(shí)間是早上1點(diǎn),北京時(shí)間就是早上9點(diǎn)。一般情況下我們不需要關(guān)心時(shí)區(qū)問題。 在創(chuàng)建完Date對象之后,我們可以通過調(diào)用getTime()方法來獲得該對象的毫秒數(shù)值,調(diào)用setTime(long time)方法來設(shè)置它的毫秒數(shù)值,從而影響年、月、日、時(shí)、分、秒這些屬性。這兩個(gè)方法的定義如下: Java代碼 1. publiclonggetTime() 2. /othercode 3. 4. 5. publicvoidsetTime(longtime) 6. /othercode 7. public long getTime() /other codepublic void setTime(long time) /other code既然Date對象可以表示盛相對于“1970-01-01 00:00:00.000 GMT”的毫秒數(shù),我們自然可以通過這個(gè)值來比較兩個(gè)日期的大小了,不過對于日期來講,前后的說法應(yīng)該更為恰當(dāng)。而Date類已經(jīng)為我們提供了這樣的方法: Java代碼 1. publicbooleanbefore(Datewhen) 2. /othercode 3. 4. 5. publicbooleanafter(Datewhen) 6. /othercode 7. 8. 9. publicintcompareTo(DateanotherDate) 10. /othercode 11. public boolean before(Date when) /other codepublic boolean after(Date when) /other codepublic int compareTo(Date anotherDate) /other codebefore()是判斷當(dāng)前日期是否在參數(shù)日期之前,即當(dāng)前日期毫秒數(shù)小于參數(shù)日期毫秒數(shù);after()是判斷當(dāng)前日期是否在參數(shù)日期之后,即當(dāng)前日期毫秒數(shù)大于參數(shù)日期毫秒數(shù)。而compareTo()是將當(dāng)前日期與參數(shù)日期比較后,返回一個(gè)int型值,它的返回值有三種可能:-1、0和1。如果返回-1則表示當(dāng)前日期在參數(shù)日期之前;如果返回0則表示兩個(gè)日期是同一時(shí)刻;返回1則表示當(dāng)前日期在參數(shù)日期之后。雖然我們可以用compareTo()方法來比較兩個(gè)Date對象,但是它的設(shè)計(jì)實(shí)際是另有用途的,我們在后面的章節(jié)將會講到。 下面我們就用一個(gè)示例來檢驗(yàn)一下以上方法的用法: Java代碼 1. importjava.util.Date; 2. 3. publicclassDateTest 4. publicstaticvoidmain(Stringargs) 5. /2008-08-0820:00:00對應(yīng)的毫秒數(shù) 6. longt2008=1218196800000L; 7. /1900-01-0120:00:00對應(yīng)的毫秒數(shù) 8. longt1900=-2208945952000L; 9. 10. /指定毫秒數(shù)創(chuàng)建Date對象 11. Dated2008=newDate(t2008); 12. /使用系統(tǒng)默認(rèn)時(shí)間創(chuàng)建Date對象 13. Dated1900=newDate(); 14. /通過設(shè)置毫秒數(shù)改變?nèi)掌诤蜁r(shí)間 15. d1900.setTime(t1900); 16. 17. System.out.println(調(diào)用方法:d1900.before(d2008); 18. System.out 19. .print(比較結(jié)果:1900-01-0120:00:00在2008-08-0820:00:00); 20. /使用before()方法比較 21. if(d1900.before(d2008) 22. System.out.println(之前); 23. else 24. System.out.println(之后); 25. 26. 27. System.out.println(); 28. 29. System.out.println(調(diào)用方法:d2008.after(d1900); 30. System.out 31. .print(比較結(jié)果:2008-08-0820:00:00在1900-01-0120:00:00); 32. /使用after()方法比較 33. if(d2008.after(d1900) 34. System.out.println(之后); 35. else 36. System.out.println(之前); 37. 38. 39. System.out.println(); 40. 41. System.out.println(調(diào)用方法:pareTo(d2008); 42. System.out 43. .print(比較結(jié)果:1900-01-0120:00:00在2008-08-0820:00:00); 44. /使用compareTo()方法比較 45. inti=pareTo(d2008); 46. if(i=-1) 47. System.out.println(之前); 48. elseif(i=1) 49. System.out.println(之后); 50. elseif(i=0) 51. System.out.println(是同一時(shí)刻); 52. 53. 54. import java.util.Date;public class DateTest public static void main(String args) / 2008-08-08 20:00:00對應(yīng)的毫秒數(shù)long t2008 = 1218196800000L;/ 1900-01-01 20:00:00對應(yīng)的毫秒數(shù)long t1900 = -2208945952000L;/ 指定毫秒數(shù)創(chuàng)建Date對象Date d2008 = new Date(t2008);/ 使用系統(tǒng)默認(rèn)時(shí)間創(chuàng)建Date對象Date d1900 = new Date();/ 通過設(shè)置毫秒數(shù)改變?nèi)掌诤蜁r(shí)間d1900.setTime(t1900);System.out.println(調(diào)用方法:d1900.before(d2008);System.out.print(比較結(jié)果:1900-01-01 20:00:00在2008-08-08 20:00:00);/ 使用before()方法比較if (d1900.before(d2008) System.out.println(之前); else System.out.println(之后);System.out.println();System.out.println(調(diào)用方法:d2008.after(d1900);System.out.print(比較結(jié)果:2008-08-08 20:00:00在1900-01-01 20:00:00);/ 使用after()方法比較if (d2008.after(d1900) System.out.println(之后); else System.out.println(之前);System.out.println();System.out.println(調(diào)用方法:pareTo(d2008);System.out.print(比較結(jié)果:1900-01-01 20:00:00在2008-08-08 20:00:00);/ 使用compareTo()方法比較int i = pareTo(d2008);if (i = -1) System.out.println(之前); else if (i = 1) System.out.println(之后); else if (i = 0) System.out.println(是同一時(shí)刻);運(yùn)行結(jié)果: 1. 調(diào)用方法:d1900.before(d2008) 2. 比較結(jié)果:1900-01-01 20:00:00在2008-08-08 20:00:00之前 3.4. 調(diào)用方法:d2008.after(d1900) 5. 比較結(jié)果:2008-08-08 20:00:00在1900-01-01 20:00:00之后 6.7. 調(diào)用方法:pareTo(d2008) 8. 比較結(jié)果:1900-01-01 20:00:00在2008-08-08 20:00:00之前 那么如果我們想直接獲取或者改變年、月、日、時(shí)、分、秒等等這些屬性的值時(shí)怎么辦呢?Date類當(dāng)然有完成這些操作的方法,不過遺憾的是它們也都已經(jīng)不被贊成使用了。我們必須換一個(gè)能夠提供這些操作的類,這個(gè)類就是java.util.Calendar。 公歷歷法java.util.GregorianCalendar Calendar是一個(gè)抽象類,我們無法直接實(shí)例化它,它有一個(gè)具體子類實(shí)體類java.util.GregorianCalendar,這個(gè)類實(shí)現(xiàn)的就是我們?nèi)粘K玫墓珰v歷法,或者叫做陽歷。我們可以直接使用new命令創(chuàng)建它的實(shí)例,或者使用Calendar類的這個(gè)方法來獲得它實(shí)例: Java代碼 1. publicstaticCalendargetInstance() 2. /othercode 3. public static Calendar getInstance() /other code采用上面這個(gè)方法時(shí),我們創(chuàng)建的Calendar對象的日期和時(shí)間值是對象被創(chuàng)建時(shí)系統(tǒng)日期和時(shí)間值。當(dāng)使用new命令時(shí),我們有兩種選擇,一種是使用系統(tǒng)當(dāng)前的日期和時(shí)間值初始化GregorianCalendar對象;另一種是通過給定年、月、日、時(shí)、分、秒等屬性值來對其進(jìn)行初始化。請看下面的例子: Java代碼 1. importjava.text.DateFormat; 2. importjava.text.SimpleDateFormat; 3. importjava.util.Calendar; 4. importjava.util.GregorianCalendar; 5. 6. publicclassDateTest 7. /* 8. *以一種較為友好的方式格式化日期時(shí)間值 9. * 10. *paramc 11. *日期時(shí)間對象 12. *return格式化后的日期時(shí)間字符串 13. */14. publicstaticStringtoFriendlyString(Calendarc) 15. if(c!=null) 16. DateFormatdf=newSimpleDateFormat(yyyy年MM月dd日HH:mm:ss); 17. returndf.format(c.getTime(); 18. 19. returnnull; 20. 21. 22. publicstaticvoidmain(Stringargs) 23. Calendarc1=Calendar.getInstance(); 24. System.out.println(創(chuàng)建方式:Calendar.getInstance(); 25. System.out.println(日期時(shí)間:+DateTest.toFriendlyString(c1); 26. System.out.println(); 27. 28. Calendarc2=newGregorianCalendar(); 29. System.out.println(創(chuàng)建方式:newGregorianCalendar(); 30. System.out.println(日期時(shí)間:+DateTest.toFriendlyString(c2); 31. System.out.println(); 32. 33. /參數(shù)含義依次為:年、月、日 34. Calendarc3=newGregorianCalendar(2008,8,8); 35. System.out.println(創(chuàng)建方式:newGregorianCalendar(2008,8,8); 36. System.out.println(日期時(shí)間:+DateTest.toFriendlyString(c3); 37. System.out.println(); 38. 39. /參數(shù)含義依次為:年、月、日、時(shí)、分 40. Calendarc4=newGregorianCalendar(2008,8,8,6,10); 41. System.out.println(創(chuàng)建方式:newGregorianCalendar(2008,8,8,6,10); 42. System.out.println(日期時(shí)間:+DateTest.toFriendlyString(c4); 43. System.out.println(); 44. 45. /參數(shù)含義依次為:年、月、日、時(shí)、分、秒 46. Calendarc5=newGregorianCalendar(2008,8,8,18,10,5); 47. System.out.println(創(chuàng)建方式:newGregorianCalendar(2008,8,8,18,10,5); 48. System.out.println(日期時(shí)間:+DateTest.toFriendlyString(c5); 49. 50. import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;public class DateTest /* * 以一種較為友好的方式格式化日期時(shí)間值 * * param c * 日期時(shí)間對象 * return 格式化后的日期時(shí)間字符串 */public static String toFriendlyString(Calendar c) if (c != null) DateFormat df = new SimpleDateFormat(yyyy年MM月dd日 HH:mm:ss);return df.format(c.getTime();return null;public static void main(String args) Calendar c1 = Calendar.getInstance();System.out.println(創(chuàng)建方式:Calendar.getInstance();System.out.println(日期時(shí)間: + DateTest.toFriendlyString(c1);System.out.println();Calendar c2 = new GregorianCalendar();System.out.println(創(chuàng)建方式:new GregorianCalendar();System.out.println(日期時(shí)間: + DateTest.toFriendlyString(c2);System.out.println();/ 參數(shù)含義依次為:年、月、日Calendar c3 = new GregorianCalendar(2008, 8, 8);System.out.println(創(chuàng)建方式:new GregorianCalendar(2008, 8, 8);System.out.println(日期時(shí)間: + DateTest.toFriendlyString(c3);System.out.println();/ 參數(shù)含義依次為:年、月、日、時(shí)、分Calendar c4 = new GregorianCalendar(2008, 8, 8, 6, 10);System.out.println(創(chuàng)建方式:new GregorianCalendar(2008, 8, 8, 6, 10);System.out.println(日期時(shí)間: + DateTest.toFriendlyString(c4);System.out.println();/ 參數(shù)含義依次為:年、月、日、時(shí)、分、秒Calendar c5 = new GregorianCalendar(2008, 8, 8, 18, 10, 5);System.out.println(創(chuàng)建方式:new GregorianCalendar(2008, 8, 8, 18, 10, 5);System.out.println(日期時(shí)間: + DateTest.toFriendlyString(c5);運(yùn)行結(jié)果如下: 1. 創(chuàng)建方式:Calendar.getInstance() 2. 日期時(shí)間:2008年07月22日 11:54:48 3.4. 創(chuàng)建方式:new GregorianCalendar() 5. 日期時(shí)間:2008年07月22日 11:54:48 6.7. 創(chuàng)建方式:new GregorianCalendar(2008, 8, 8. 日期時(shí)間:2008年09月08日 00:00:00 9.10. 創(chuàng)建方式:new GregorianCalendar(2008, 8, 8, 6, 10) 11. 日期時(shí)間:2008年09月08日 06:10:00 12.13. 創(chuàng)建方式:new GregorianCalendar(2008, 8, 8, 18, 10, 5) 14. 日期時(shí)間:2008年09月08日 18:10:05 為了便于閱讀,我們增加一個(gè)toFriendlyString(Calendar c)方法,它將日期時(shí)間值格式化為一種更加友好易懂的形式,我們將在接下來的內(nèi)容中講解它的實(shí)現(xiàn)原理。分析運(yùn)行結(jié)果后,我們發(fā)現(xiàn)有兩個(gè)地方需要注意: 1. 在創(chuàng)建GregorianCalendar對象時(shí),月份值都設(shè)定為8,但打印結(jié)果都是9月份。這并不是我們的代碼有問題,而是因?yàn)镴AVA表示的月份是從0開始的,也就是說它用來表示月份的數(shù)值總是比實(shí)際月份值小1。因此我們要表示8月份,就是應(yīng)該設(shè)置8-1=7這個(gè)值。 2. GregorianCalendar的小時(shí)數(shù)是24小時(shí)制的。 為了避免出現(xiàn)因?yàn)橥浱幚?的差值而設(shè)置了錯(cuò)誤的月份,也讓代碼看起來更加直觀,推薦大家使用定義在Calendar類的的這些常量來代替直接用數(shù)字表示月份: 一月:Calendar.JANUARY = 0 二月:Calendar.FEBRUARY = 1 三月:Calendar.MARCH = 2 四月:Calendar.APRIL = 3 五月:Calendar.MAY = 4 六月:Calendar.JUNE = 5 七月:Calendar.JULY = 6 八月:Calendar.AUGUST = 7 九月:Calendar.SEPTEMBER = 8 十月:Calendar.OCTOBER = 9 十一月:Calendar.NOVEMBER = 10 十二月:Calendar.DECEMBER = 11 如果我們想要從Calendar對象獲得各種屬性的值,就需要調(diào)用它的get(int field)方法,這個(gè)方法接收一個(gè)int型的參數(shù),并且根據(jù)這個(gè)給定參數(shù)的值來返回相應(yīng)的屬性的值。該方法的定義如下: Java代碼 1. publicintget(intfield) 2. /othercode 3. public int get(int field) /other code我們以一個(gè)示例來說明get(int field)方法所能接受的一些常用參數(shù)的含義及用法: Java代碼 1. importjava.text.DateFormat; 2. importjava.text.SimpleDateFormat; 3. importjava.util.Calendar; 4. 5. publicclassDateTest 6. /* 7. *以一種較為友好的方式格式化日期時(shí)間值 8. * 9. *paramc 10. *日期時(shí)間對象 11. *return格式化后的日期時(shí)間字符串 12. */13. publicstaticStringtoFriendlyString(Calendarc) 14. if(c!=null) 15. DateFormatdf=newSimpleDateFormat(yyyy年MM月dd日HH:mm:ss.SSS); 16. returndf.format(c.getTime(); 17. 18. returnnull; 19. 20. 21. publicstaticvoidmain(Stringargs) 22. Calendarc=Calendar.getInstance(); 23. System.out.println(當(dāng)前時(shí)刻:+DateTest.toFriendlyString(c); 24. System.out.println(); 25. 26. System.out.println(屬性名稱:Calendar.AM_PM); 27. System.out.println(代表含義:上下午標(biāo)識,上午返回Calendar.AM=0,下午返回Calendar.PM=1); 28. System.out.println(測試結(jié)果:+c.get(Calendar.AM_PM); 29. System.out.println(); 30. 31. System.out.println(屬性名稱:Calendar.DATE); 32. System.out.println(代表含義:一個(gè)月中的第幾天,同Calendar.DAY_OF_MONTH); 33. System.out.println(測試結(jié)果:+c.get(Calendar.DATE); 34. System.out.println(); 35. 36. System.out.println(屬性名稱:Calendar.DAY_OF_MONTH); 37. System.out.println(代表含義:一個(gè)月中的第幾天,同Calendar.DATE); 38. System.out.println(測試結(jié)果:+c.get(Calendar.DAY_OF_MONTH); 39. System.out.println(); 40. 41. System.out.println(屬性名稱:Calendar.DAY_OF_WEEK); 42. System.out.println(代表含義:一周中的第幾天,對應(yīng)星期幾,第一天為星期日,于此類推。); 43. System.out.println(星期日:Calendar.SUNDAY=1); 44. System.out.println(星期一:Calendar.MONDAY=2); 45. System.out.println(星期二:Calendar.TUESDAY=3); 46. System.out.println(星期三:Calendar.WEDNESDAY=4); 47. System.out.println(星期四:Calendar.THURSDAY=5); 48. System.out.println(星期五:Calendar.FRIDAY=6); 49. System.out.println(星期六:Calendar.SATURDAY=7); 50. System.out.println(測試結(jié)果:+c.get(Calendar.DAY_OF_WEEK); 51. System.out.println(); 52. 53. System.out.println(屬性名稱:Calendar.DAY_OF_WEEK_IN_MONTH); 54. System.out.println(代表含義:這一天所對應(yīng)的星期幾在該月中是第幾次出現(xiàn)); 55. System.out.println(測試結(jié)果:+c.get(Calendar.DAY_OF_WEEK_IN_MONTH); 56. System.out.println(); 57. 58. System.out.println(屬性名稱:Calendar.DAY_OF_YEAR); 59. System.out.println(代表含義:一年中的第幾天); 60. System.out.println(測試結(jié)果:+c.get(Calendar.DAY_OF_YEAR); 61. System.out.println(); 62. 63. System.out.println(屬性名稱:Calendar.HOUR); 64. System.out.println(代表含義:12小時(shí)制下的小時(shí)數(shù),中午和午夜表示為0); 65. System.out.println(測試結(jié)果:+c.get(Calendar.HOUR); 66. System.out.println(); 67. 68. System.out.println(屬性名稱:Calendar.HOUR_OF_DAY); 69. System.out.println(代表含義:24小時(shí)制下的小時(shí)數(shù),午夜表示為0); 70. System.out.println(測試結(jié)果:+c.get(Calendar.HOUR_OF_DAY); 71. System.out.println(); 72. 73. System.out.println(屬性名稱:Calendar.MILLISECOND); 74. System.out.println(代表含義:毫秒數(shù)); 75. System.out.println(測試結(jié)果:+c.get(Calendar.MILLISECOND); 76. System.out.println(); 77. 78. System.out.println(屬性名稱:Calendar.MINUTE); 79. System.out.println(代表含義:分鐘); 80. System.out.println(測試結(jié)果:+c.get(Calendar.MINUTE); 81. System.out.println(); 82. 83. System.out.println(屬性名稱:Calendar.MONTH); 84. System.out.println(代表含義:月份,從0到11表示12個(gè)月份,比實(shí)際月份值小1); 85. System.out.println(測試結(jié)果:+c.get(Calendar.MONTH); 86. System.out.println(); 87. 88. System.out.println(屬性名稱:Calendar.SECOND); 89. System.out.println(代表含義:秒); 90. System.out.println(測試結(jié)果:+c.get(Calendar.SECOND); 91. System.out.println(); 92. 93. System.out.println(屬性名稱:Calendar.WEEK_OF_MONTH); 94. System.out.println(代表含義:一個(gè)月中的第幾個(gè)星期); 95. System.out.println(測試結(jié)果:+c.get(Calendar.WEEK_OF_MONTH); 96. System.out.println(); 97. 98. System.out.println(屬性名稱:Calendar.WEEK_OF_YEAR); 99. System.out.println(代表含義:一年中的第幾個(gè)星期); 100. System.out.println(測試結(jié)果:+c.get(Calendar.WEEK_OF_YEAR); 101. System.out.println(); 102. 103. System.out.println(屬性名稱:Calendar.YEAR); 104. System.out.println(代表含義:年份); 105. System.out.println(測試結(jié)果:+c.get(Calendar.YEAR); 106. 107. import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;public class DateTest /* * 以一種較為友好的方式格式化日期時(shí)間值 * * param c * 日期時(shí)間對象 * return 格式化后的日期時(shí)間字符串 */public static String toFriendlyString(Calendar c) if (c != null) DateFormat df = new SimpleDateFormat(yyyy年MM月dd日 HH:mm:ss.SSS);return df.format(c.getTime();return null;public static void main(String args) Calendar c = Calendar.getInstance();System.out.println(當(dāng)前時(shí)刻: + DateTest.toFriendlyString(c);System.out.println();System.out.println(屬性名稱:Calendar.AM_PM);System.out.println(代表含義:上下午標(biāo)識,上午返回Calendar.AM=0,下午返回Calendar.PM=1);System.out.println(測試結(jié)果: + c.get(Calendar.AM_PM);System.out.println();System.out.println(屬性名稱:Calendar.DATE);System.out.println(代表含義:一個(gè)月中的第幾天,同Calendar.DA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- BP-Fluor-555-azide-生命科學(xué)試劑-MCE
- 義務(wù)教育道德與法治課程標(biāo)準(zhǔn)(2022年版)
- 定期報(bào)告:六月繼續(xù)震蕩偏強(qiáng)結(jié)構(gòu)性行情依舊
- 2025中國“雙一流”高校醫(yī)學(xué)建設(shè)數(shù)據(jù)分析報(bào)告
- 2025年零售門店運(yùn)營數(shù)字化技術(shù)應(yīng)用:智能化客服與體驗(yàn)提升報(bào)告
- 2025年工業(yè)廢氣深度凈化技術(shù)產(chǎn)業(yè)鏈上下游協(xié)同發(fā)展研究報(bào)告
- 醫(yī)療行業(yè)大數(shù)據(jù)隱私保護(hù)技術(shù)在疾病預(yù)測中的應(yīng)用報(bào)告
- 教育投資并購2025戰(zhàn)略布局報(bào)告:整合策略與行業(yè)洞察
- 2025年生物質(zhì)能源在微電網(wǎng)分布式能源系統(tǒng)中的應(yīng)用前景與優(yōu)化策略報(bào)告
- 工業(yè)互聯(lián)網(wǎng)平臺2025年網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)信息安全技術(shù)前沿動態(tài)報(bào)告
- 2025至2030中國控制按鈕開關(guān)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 臨商銀行股份有限公司招聘筆試真題2024
- 近代史第三章試題及答案
- DB31-T 1593-2025 基于自動駕駛功能的公交運(yùn)營技術(shù)要求
- 地理●甘肅卷丨2024年甘肅省普通高中學(xué)業(yè)水平等級性考試高考地理真題試卷及答案
- 醫(yī)院純水系統(tǒng)管理制度
- 2025年中考英語考前沖刺押題模擬試卷 3套(含答案)
- 吊裝-運(yùn)輸方案(3篇)
- 2025年小升初語文復(fù)習(xí):積累運(yùn)用 專項(xiàng)匯編(含答案)
- 靜脈留置針大賽理論考核考試試題及答案
- 【8道期末】安徽省蕪湖市無為市2023-2024學(xué)年八年級下學(xué)期期末道德與法治試題(含解析)
評論
0/150
提交評論