VIRGIN FOREST OF JAVA
          不要埋頭苦干,要學(xué)習(xí),學(xué)習(xí),再學(xué)習(xí)。。。。。
          powered by R.Zeus

          創(chuàng)建一個日期對象
          讓我們看一個使用系統(tǒng)的當(dāng)前日期和時間創(chuàng)建一個日期對象并返回一個長整數(shù)的簡單例子. 這個時間通常被稱為Java 虛擬機(JVM)主機環(huán)境的系統(tǒng)時間.
          import java.util.Date; 

          public class DateExample1 {
          ????public static void main(String[] args) { //自己替換[]
          ????// Get the system date/time
          ????Date date = new Date();

          ????System.out.println(date.getTime());
          ????}
          }


          在星期六, 2001年9月29日, 下午大約是6:50的樣子, 上面的例子在系統(tǒng)輸出設(shè)備上顯示的結(jié)果是 1001803809710. 在這個例子中,值得注意的是我們使用了Date 構(gòu)造函數(shù)創(chuàng)建一個日期對象, 這個構(gòu)造函數(shù)沒有接受任何參數(shù). 而這個構(gòu)造函數(shù)在內(nèi)部使用了System.currentTimeMillis() 方法來從系統(tǒng)獲取日期.

          那么, 現(xiàn)在我們已經(jīng)知道了如何獲取從1970年1月1日開始經(jīng)歷的毫秒數(shù)了. 我們?nèi)绾尾拍芤砸环N用戶明白的格式來顯示這個日期呢? 在這里類java.text.SimpleDateFormat 和它的抽象基類 java.text.DateFormat 就派得上用場了.


          日期數(shù)據(jù)的定制格式
          假如我們希望定制日期數(shù)據(jù)的格式, 比方星期六-9月-29日-2001年. 下面的例子展示了如何完成這個工作:

          import java.text.SimpleDateFormat; 
          import java.util.Date;

          public class DateExample2 {

          ????public static void main(String[] args) { //自己替換[]

          ????????SimpleDateFormat bartDateFormat =
          ????????new SimpleDateFormat("EEEE-MMMM-dd-yyyy");

          ????????Date date = new Date();

          ????????System.out.println(bartDateFormat.format(date));
          ????}
          }


          只要通過向SimpleDateFormat 的構(gòu)造函數(shù)傳遞格式字符串"EEE-MMMM-dd-yyyy", 我們就能夠指明自己想要的格式. 你應(yīng)該可以看見, 格式字符串中的ASCII 字符告訴格式化函數(shù)下面顯示日期數(shù)據(jù)的哪一個部分. EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的個數(shù)決定了日期是如何格式化的.傳遞"EE-MM-dd-yy"會顯示 Sat-09-29-01. 請察看Sun 公司的Web 站點獲取日期格式化選項的完整的指示.

          將文本數(shù)據(jù)解析成日期對象
          假設(shè)我們有一個文本字符串包含了一個格式化了的日期對象, 而我們希望解析這個字符串并從文本日期數(shù)據(jù)創(chuàng)建一個日期對象. 我們將再次以格式化字符串"MM-dd-yyyy" 調(diào)用SimpleDateFormat類, 但是這一次, 我們使用格式化解析而不是生成一個文本日期數(shù)據(jù). 我們的例子, 顯示在下面, 將解析文本字符串"9-29-2001"并創(chuàng)建一個值為001736000000 的日期對象.

          例子程序:

          import java.text.SimpleDateFormat; 
          import java.util.Date;

          public class DateExample3 {

          ????public static void main(String[]args) { //自己替換[]
          ????????// Create a date formatter that can parse dates of
          ????????// the form MM-dd-yyyy.
          ????????SimpleDateFormat bartDateFormat =
          ????????new SimpleDateFormat("MM-dd-yyyy");

          ????????// Create a string containing a text date to be parsed.
          ????????String dateStringToParse = "9-29-2001";

          ????????try {
          ????????????// Parse the text version of the date.
          ????????????// We have to perform the parse method in a
          ????????????// try-catch construct in case dateStringToParse
          ????????????// does not contain a date in the format we are expecting.
          ????????????Date date = bartDateFormat.parse(dateStringToParse);

          ????????????// Now send the parsed date as a long value
          ????????????// to the system output.
          ????????????System.out.println(date.getTime());
          ????????}
          ????????catch (Exception ex) {
          ????????????System.out.println(ex.getMessage());
          ????????}
          ????}
          }


          使用標(biāo)準(zhǔn)的日期格式化過程
          既然我們已經(jīng)可以生成和解析定制的日期格式了, 讓我們來看一看如何使用內(nèi)建的格式化過程. 方法 DateFormat.getDateTimeInstance() 讓我們得以用幾種不同的方法獲得標(biāo)準(zhǔn)的日期格式化過程. 在下面的例子中, 我們獲取了四個內(nèi)建的日期格式化過程. 它們包括一個短的, 中等的, 長的, 和完整的日期格式.

          import java.text.DateFormat; 
          import java.util.Date;

          public class DateExample4 {

          ????public static void main(String[] args) { //自己替換[]
          ????????Date date = new Date();

          ????????DateFormat shortDateFormat =
          ????????DateFormat.getDateTimeInstance(
          ????????DateFormat.SHORT,
          ????????DateFormat.SHORT);

          ????????DateFormat mediumDateFormat =
          ????????DateFormat.getDateTimeInstance(
          ????????DateFormat.MEDIUM,
          ????????DateFormat.MEDIUM);

          ????????DateFormat longDateFormat =
          ????????DateFormat.getDateTimeInstance(
          ????????DateFormat.LONG,
          ????????DateFormat.LONG);

          ????????DateFormat fullDateFormat =
          ????????DateFormat.getDateTimeInstance(
          ????????DateFormat.FULL,
          ????????DateFormat.FULL);

          ????????System.out.println(shortDateFormat.format(date));
          ????????System.out.println(mediumDateFormat.format(date));
          ????????System.out.println(longDateFormat.format(date));
          ????????System.out.println(fullDateFormat.format(date));
          ????}
          }




          注意我們在對 getDateTimeInstance的每次調(diào)用中都傳遞了兩個值. 第一個參數(shù)是日期風(fēng)格, 而第二個參數(shù)是時間風(fēng)格. 它們都是基本數(shù)據(jù)類型int(整型). 考慮到可讀性, 我們使用了DateFormat 類提供的常量: SHORT, MEDIUM, LONG, 和 FULL. 要知道獲取時間和日期格式化過程的更多的方法和選項, 請看Sun 公司W(wǎng)eb 站點上的解釋.

          運行我們的例子程序的時候, 它將向標(biāo)準(zhǔn)輸出設(shè)備輸出下面的內(nèi)容:
          9/29/01 8:44 PM
          Sep 29, 2001 8:44:45 PM
          September 29, 2001 8:44:45 PM EDT
          Saturday, September 29, 2001 8:44:45 PM EDT
          posted on 2006-10-09 12:18 R.Zeus 閱讀(204) 評論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 汽车| 宣威市| 宁武县| 缙云县| 巴林右旗| 平谷区| 中方县| 太谷县| 宁国市| 雷山县| 武乡县| 石楼县| 镇平县| 汝州市| 彭泽县| 平南县| 贵港市| 潜江市| 贺州市| 随州市| 沭阳县| 英吉沙县| 曲阳县| 白河县| 即墨市| 吐鲁番市| 宁国市| 刚察县| 沂源县| 龙胜| 偃师市| 图片| 邹平县| 射洪县| 三原县| 金秀| 乡宁县| 盘山县| 万年县| 赤水市| 新源县|