第一部分Calendar介绍
第一部分 Calendar介紹
Calendar 定義:
| 1 | publicabstract class Calendar implementsSerializable, Cloneable, Comparable<Calendar> {} |
Calendar 可以看作是一個抽象類。
它的實現,采用了設計模式中的工廠方法。表現在:當我們獲取Calendar實例時,Calendar會根據傳入的參數來返回相應的Calendar對象。獲取Calendar實例,有以下兩種方式:
(1) 當我們通過 Calendar.getInstance() 獲取日歷時,默認的是返回的一個GregorianCalendar對象。
???? GregorianCalendar是Calendar的一個實現類,它提供了世界上大多數國家/地區使用的標準日歷系統。
(2) 當我們通過 Calendar.getInstance(TimeZone timezone, Locale locale) 或 Calendar.getInstance(TimeZone timezone) 或 Calendar.getInstance(Locale locale)獲取日歷時,是返回“對應時區(zone) 或 地區(local)等所使用的日歷”。?
???? 例如,若是日本,則返回JapaneseImperialCalendar對象。
參考如下代碼:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | publicstatic Calendar getInstance() { ?// 調用createCalendar()創建日歷 ?Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault()); ?cal.sharedZone = true; ?returncal; } ? ? publicstatic Calendar getInstance(TimeZone zone) { ?// 調用createCalendar()創建日歷 ?returncreateCalendar(zone, Locale.getDefault()); } ? ? publicstatic Calendar getInstance(Locale aLocale) { ?// 調用createCalendar()創建日歷 ?Calendar cal = createCalendar(TimeZone.getDefaultRef(), aLocale); ?cal.sharedZone = true; ?returncal; } ? publicstatic Calendar getInstance(TimeZone zone, ???Locale aLocale) { ?// 調用createCalendar()創建日歷 ?returncreateCalendar(zone, aLocale); } ? privatestatic Calendar createCalendar(TimeZone zone, ???Locale aLocale) { ?// (01) 若地區是“th”,則返回BuddhistCalendar對象 ?// (02) 若地區是“JP”,則返回JapaneseImperialCalendar對象 ?if("th".equals(aLocale.getLanguage()) ?&& ("TH".equals(aLocale.getCountry()))) { ?returnnew sun.util.BuddhistCalendar(zone, aLocale); ?}elseif ("JP".equals(aLocale.getVariant()) ?&&"JP".equals(aLocale.getCountry()) ?&&"ja".equals(aLocale.getLanguage())) { ?returnnew JapaneseImperialCalendar(zone, aLocale); ?} ? ?// (03) 否則,返回GregorianCalendar對象 ?returnnew GregorianCalendar(zone, aLocale); } ? 當我們獲取Calendar實例之后,就可以通過Calendar提供的一些列方法來操作日歷。 |
?
| ? |
?
總結
以上是生活随笔為你收集整理的第一部分Calendar介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LIVE555再学习 -- testH2
- 下一篇: LIVE555再学习 -- testOn