<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks
    Java中處理日期的類主要有Date、Calendar和DateFormat三個,在JDK中它們對應(yīng)的包的位置和相關(guān)的派生類如下所示:?
    1、?Date:具體類java.util.Date?;?
    2、?Calendar:抽象類java.text.DateFormat,它派生的一個子類為java.text.SimpleDateFormat?
    3、?DateFormat:抽象類java.util.Calendar,它派生的一個子類為java.util.GregorianCalendar?
    (注:如果有朋友對具體類和抽象類不了解,可以參考相關(guān)Java資料)?

    現(xiàn)在對以上三個類進行如下分析:?

    一、對Date類的分析?

    Date?類從JDK?1.0開始進化,?當(dāng)時它只包含了幾個簡單的處理日期數(shù)據(jù)的方法。?由于這些方法實用性差,現(xiàn)在基本上被Calendar類中各方法所代替了。這種改進目的是為了更好的處理日期數(shù)據(jù)國際化格式。?Date?類實際上只是一個包裹類,?它包含一個長整型數(shù)據(jù),?表示的是從GMT(格林尼治標(biāo)準(zhǔn)時間)1970年,?1?月?1日00:00:00這一刻之前或者是之后經(jīng)歷的毫秒數(shù).?

    為了加深對Date類的理解,列舉如下一個簡單例子來說明Date的使用:?
    import?java.util.Date;?
    public?class?DateTest1?{?
    public?static?void?main(String[]?args)?{?
    /**?Get?the?system?Date?**/?
    Date?date?=?new?Date();?
    System.out.println(date.getTime());?
    }?
    }?
    系統(tǒng)輸出如下結(jié)果:?
    1001803809710?

    在這個例子中,值得我們注意的是我們使用了Date?構(gòu)造函數(shù)創(chuàng)建一個日期對象,?在沒有任何參數(shù)的情況下,這個構(gòu)造函數(shù)會自動調(diào)用System.currentTimeMillis()?方法來獲取當(dāng)前系統(tǒng)日期.。?


    二、對DateFormat類的分析?

    如果我們希望定制日期數(shù)據(jù)的格式,?比如顯示的日期格式為:2006年06月23日,抽象類java.util.Calendar和它的子類java.util.GregorianCalendar能完成這一功能。?
    下面的例子展示了如何完成這個工作:?
    import?java.util.SimpleDateFormat;?
    import?java.util.Date;?
    public?class?DateTest2?{?
    public?static?void?main(String[]?args)?{?

    SimpleDateFormat?format?=?new?SimpleDateFormat("yyyy年MM月dd日",Locale.US);?
    Date?date?=?new?Date();?
    System.out.println(bartDateFormat.format(date));?
    }?
    }?

    只要通過向SimpleDateFormat?的構(gòu)造函數(shù)傳遞格式字符串"?yyyy年MM月dd日",?我們就可以指明自己想要的格式.?其中yyyy是年,MM是月,?dd是日.?字符的個數(shù)決定了日期是如何格式化的,如果格式為"yyyy年MM月dd日"就會顯示?06年06月23日;如果是"yy-MM-dd"就顯示06-06-23。?

    三、對Calendar?類的分析?

    如果想設(shè)置、獲取、操縱一個日期對象的各個特定部分,比如獲得小時,?日,?分鐘、計算一個月的某一天說星期幾等等。這樣的情況就需要抽象類java.util.Calendar和它的子類來處理。為了能清楚地說明問題,列舉下面的例子,?它的功能是計算第十個星期五是13號.?

    import?java.util.GregorianCalendar;?
    import?java.util.Date;?
    import?java.text.DateFormat;?
    public?class?CalendarTest{?

    public?static?void?main(String[]?args)?{?
    DateFormat?dateFormat?=?DateFormat.getDateInstance(DateFormat.FULL);?
    GregorianCalendar?cal?=?new?GregorianCalendar();?

    /**?Set?the?date?and?time?of?our?calendar?to?the?system&s?date?and?time?**/?
    cal.setTime(new?Date());?
    System.out.println("System?Date:?"?+?dateFormat.format(cal.getTime()));?

    /**?Set?the?day?of?week?to?FRIDAY?**/?
    cal.set(GregorianCalendar.DAY_OF_WEEK,?GregorianCalendar.FRIDAY);?
    System.out.println("After?Setting?Day?of?Week?to?Friday:?"?+?
    dateFormat.format(cal.getTime()));?

    int?friday13Counter?=?0;?
    while?(friday13Counter?<=?10)?{?

    /**?Go?to?the?next?Friday?by?adding?7?days.?**/?
    cal.add(GregorianCalendar.DAY_OF_MONTH,?7);?

    /**?If?the?day?of?month?is?13?we?have?another?Friday?the?13th.?**/?
    if?(cal.get(GregorianCalendar.DAY_OF_MONTH)?==?13)?{?
    friday13Counter++;?
    System.out.println(dateFormat.format(cal.getTime()));?
    }?
    }?
    }?
    }?
    輸出結(jié)果是:?
    System?Date:?Saturday,?September?29,?2005?


    四、總結(jié)?

    在Java通過一下三個類的使用,一般可以滿足各種形式的日期使用。實際上,Java中日期使用的方法還有很多,如果有興趣的朋友請參考JDK幫助手冊。?
    http://www.javaresearch.org/article/55424.htm

    posted on 2007-03-21 09:57 java_蟈蟈 閱讀(270) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 国产亚洲精品久久久久秋霞 | 两个人看的www免费高清| 青青久久精品国产免费看| 男人免费视频一区二区在线观看| 一个人晚上在线观看的免费视频| 99视频在线免费观看| 久久久久久免费一区二区三区| 精品无码AV无码免费专区| 久久久高清免费视频| 国产精品va无码免费麻豆| 国产性爱在线观看亚洲黄色一级片 | 97在线视频免费公开视频| 无码免费一区二区三区免费播放| 香蕉97超级碰碰碰免费公| 国产传媒在线观看视频免费观看| 国产日产亚洲系列| 亚洲国产美女精品久久久久| 亚洲成AV人影片在线观看| 中文字幕乱码系列免费| 免费专区丝袜脚调教视频| 四虎永久免费影院| 无码欧精品亚洲日韩一区| jiz zz在亚洲| 中文字幕乱理片免费完整的| 美女被cao免费看在线看网站| 夜色阁亚洲一区二区三区| 亚洲国产一区二区三区青草影视 | 亚洲 欧洲 日韩 综合在线| 一区二区三区在线观看免费 | 久久久久久国产a免费观看不卡 | 免费看大美女大黄大色| 亚洲AV午夜福利精品一区二区| 色偷偷亚洲女人天堂观看欧| 一级毛片成人免费看a| 成人福利免费视频| 久久精品国产亚洲Aⅴ香蕉| 亚洲av永久无码精品天堂久久 | 日本一区午夜艳熟免费| 免费高清av一区二区三区| 亚洲av综合色区| jizzjizz亚洲日本少妇|