文章詳情頁
Java高級日期概念一
瀏覽:3日期:2024-06-21 18:24:14
內容: 出自:zdnet 如果你的Java 程序向處在不同時區或者不同國家的用戶顯示時間和日期,那么你需要了解Java日期類的一些更加高級的方面。在“使用Java Date和Calendar類計算,定制和解析日期的這篇文章里我們提供了對日期,日期數據的格式化,日期數據的解析和日期計算的一個概覽。對于這些概念的深入的理解對于討論更高級的諸如時區,國際化標準格式和SQL日期數據等這些有關日期的問題是關鍵的。我們在本文中討論的類將包含java.text.DateFormat,以及java.util.TimeZone和java.util.Locate。我們還將討論如何使用一個java.util.Date的子類java.sql.Date來從Oracle數據庫里提取和保存Java日期數據。地區的問題在我們國際化我們的日期數據以前,我們需要進一步的學習Locale類,也就是java.util.Locale。Locale類的一個實例通常包含國家和語言信息。其中的每一個部分都是由基于國際標準化組織(ISO)制定的國家代碼ISO-3166和語言代碼ISO-639的兩字符的字符串構成的。讓我們來創建兩個Locale實例,其中一個對應的是美國英語而另一個對應的是法國法語。見表A。表A import java.util.Locale;public class DateExample6 {public static void main(String[] args) {// Create a locale for the English language in the US.Locale localeEN = new Locale('en', 'US');System.out.println('Display Name: ' +localeEN.getDisplayName());System.out.println('Country: ' + localeEN.getCountry());System.out.println('Language: ' + localeEN.getLanguage());// Create a locale for the French language in France.Locale localeFR = new Locale('fr', 'FR');System.out.println('nDisplay Name: ' +localeFR.getDisplayName());System.out.println('Country: ' + localeFR.getCountry());System.out.println('Language: ' + localeFR.getLanguage());// Display the English-US locale in FrenchSystem.out.println('nen Display Name in French: ' +localeEN.getDisplayName(localeFR));}}在這個例子中,我們用getDisplayName方法來顯示Locale的一個更易讀的文本。你還應該注意到我們在最后一次調用getDisplayName的時候,我們在對English Locale對象調用getDisplayName的時候同時傳遞了French Locale對象。這允許我們選擇顯示Locale對象所用的語言,讓我們用英語顯示法語Locale對象的內容。下面是這個例子的輸出:Display Name: English (United States)Country: USLanguage: enDisplay Name: French (France)Country: FRLanguage: fren Display Name in French: anglais (états-Unis)多個地域的日期格式化使用java.util.Locale和java.text.DateFormat類我們就能夠格式化日期數據把它顯示給在另一個地域的用戶,比方法國。表B中的例子為英語和法語各創建了一個完整的日期格式化器。表 B import java.util.Locale;import java.util.Date;import java.text.DateFormat;public class DateExample7 {public static void main(String[] args) {// Get the current system date and time.Date date = new Date();// Get a France locale using a Locale constant.Locale localeFR = Locale.FRANCE;// Create an English/US locale using the constructor.Locale localeEN = new Locale('en', 'US' );// Get a date time formatter for display in France.DateFormat fullDateFormatFR =DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,localeFR);// Get a date time formatter for display in the U.S.DateFormat fullDateFormatEN =DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,localeEN);System.out.println('Locale: ' + localeFR.getDisplayName());System.out.println(fullDateFormatFR.format(date));System.out.println('Locale: ' + localeEN.getDisplayName());System.out.println(fullDateFormatEN.format(date));}}這個例子的輸出是:Locale: French (France)vendredi 5 octobre 2001 21 h 05 GMT-04:00Locale: English (United States)Friday, October 5, 2001 9:05:54 PM EDT注意這個輸出包括了時區信息:GMT-04:00 和 PM EDT。這個時區是人系統的時區設置里捕獲的。你可以看見,日期是以那個地區的用戶期望的格式顯示的。讓我們等一下來看看時區的概念 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽:
Java
上一條:Java高級日期概念二下一條:使用Java實現網絡傳輸數據的壓縮
相關文章:
排行榜
