熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

淺析Java中Data類的應用技術

2013-11-15 09:50:50  來源: JSP教程 

  Date 類從Java 開發包(JDK) 就開始進化 當時它只包含了幾個取得或者設置一個日期數據的各個部分的方法 比如說月 和年 這些方法現在遭到了批評並且已經被轉移到了Calendar類裡去了 我們將在本文中進一步討論它
  
  這種改進旨在更好的處理日期數據的國際化格式 就象在JDK 中一樣 Date 類實際上只是一個包裹類 它包含的是一個長整型數據 表示的是從GMT(格林尼治標准時間) ::這一刻之前或者是之後經歷的毫秒數
  
  創建一個日期對象
  
  讓我們看一個使用系統的當前日期和時間創建一個日期對象並返回一個長整數的簡單例子 這個時間通常被稱為Java 虛擬機(JVM)主機環境的系統時間
  import javautilDate;
  
  public class DateExample {
  public static void main(String[] args) { //自己替換[]
  // Get the system date/time
  Date date = new Date();
  
  Systemoutprintln(dategetTime());
  }
  }
  
  在星期六 下午大約是:的樣子 上面的例子在系統輸出設備上顯示的結果是 在這個例子中值得注意的是我們使用了Date 構造函數創建一個日期對象 這個構造函數沒有接受任何參數 而這個構造函數在內部使用了SystemcurrentTimeMillis() 方法來從系統獲取日期
  
  那麼 現在我們已經知道了如何獲取從日開始經歷的毫秒數了 我們如何才能以一種用戶明白的格式來顯示這個日期呢? 在這裡類javatextSimpleDateFormat 和它的抽象基類 javatextDateFormat 就派得上用場了
  
  日期數據的定制格式
  
  假如我們希望定制日期數據的格式 比方星期六 下面的例子展示了如何完成這個工作:
  
  import javatextSimpleDateFormat;
  import javautilDate;
  
  public class DateExample {
  
  public static void main(String[] args) { //自己替換[]
  
  SimpleDateFormat bartDateFormat =
  new SimpleDateFormat(EEEEMMMMddyyyy);
  
  Date date = new Date();
  
  Systemoutprintln(bartDateFormatformat(date));
  }
  }
  
  只要通過向SimpleDateFormat 的構造函數傳遞格式字符串EEEMMMMddyyyy 我們就能夠指明自己想要的格式 你應該可以看見 格式字符串中的ASCII 字符告訴格式化函數下面顯示日期數據的哪一個部分 EEEE是星期 MMMM是月 dd是日 yyyy是年 字符的個數決定了日期是如何格式化的傳遞EEMMddyy會顯示 Sat 請察看Sun 公司的Web 站點獲取日期格式化選項的完整的指示
  
  將文本數據解析成日期對象
  
  假設我們有一個文本字符串包含了一個格式化了的日期對象 而我們希望解析這個字符串並從文本日期數據創建一個日期對象 我們將再次以格式化字符串MMddyyyy 調用SimpleDateFormat類 但是這一次 我們使用格式化解析而不是生成一個文本日期數據 我們的例子 顯示在下面 將解析文本字符串並創建一個值為 的日期對象
  
  例子程序:
  
  import javatextSimpleDateFormat;
  import javautilDate;
  
  public class DateExample {
  
  public static void main(String[]args) { //自己替換[]
  // Create a date formatter that can parse dates of
  // the form MMddyyyy
  SimpleDateFormat bartDateFormat =
  new SimpleDateFormat(MMddyyyy);
  
  // Create a string containing a text date to be parsed
  String dateStringToParse = ;
  
  try {
  // Parse the text version of the date
  // We have to perform the parse method in a
  // trycatch construct in case dateStringToParse
  // does not contain a date in the format we are expecting
  Date date = bartDateFormatparse(dateStringToParse);
  
  // Now send the parsed date as a long value
  // to the system output
  Systemoutprintln(dategetTime());
  }
  catch (Exception ex) {
  Systemoutprintln(exgetMessage());
  }
  }
  }
  
  使用標准的日期格式化過程
  
  既然我們已經可以生成和解析定制的日期格式了 讓我們來看一看如何使用內建的格式化過程 方法 DateFormatgetDateTimeInstance() 讓我們得以用幾種不同的方法獲得標准的日期格式化過程 在下面的例子中 我們獲取了四個內建的日期格式化過程 它們包括一個短的 中等的 長的 和完整的日期格式
  
  import javatextDateFormat;
  import javautilDate;
  
  public class DateExample {
  
  public static void main(String[] args) { //自己替換[]
  Date date = new Date();
  
  DateFormat shortDateFormat =
  DateFormatgetDateTimeInstance(
  DateFormatSHORT
  DateFormatSHORT);
  
  DateFormat mediumDateFormat =
  DateFormatgetDateTimeInstance(
  DateFormatMEDIUM
  DateFormatMEDIUM);
  
  DateFormat longDateFormat =
  DateFormatgetDateTimeInstance(
  DateFormatLONG
  DateFormatLONG);
  
  DateFormat fullDateFormat =
  DateFormatgetDateTimeInstance(
  DateFormatFULL
  DateFormatFULL);
  
  Systemoutprintln(shortDateFormatformat(date));
  Systemoutprintln(mediumDateFormatformat(date));
  Systemoutprintln(longDateFormatformat(date));
  Systemoutprintln(fullDateFormatformat(date));
  }
  }
  
  注意我們在對 getDateTimeInstance的每次調用中都傳遞了兩個值 第一個參數是日期風格 而第二個參數是時間風格 它們都是基本數據類型int(整型) 考慮到可讀性 我們使用了DateFormat 類提供的常量: SHORT MEDIUM LONG 和 FULL 要知道獲取時間和日期格式化過程的更多的方法和選項 請看Sun 公司Web 站點上的解釋
  
  運行我們的例子程序的時候 它將向標准輸出設備輸出下面的內容:
  // : PM
  Sep :: PM
  September :: PM EDT
  Saturday September :: PM EDT
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19216.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.