文章詳情頁
Java高級(jí)日期概念一
瀏覽:2日期:2024-06-21 18:24:14
內(nèi)容: 出自:zdnet 如果你的Java 程序向處在不同時(shí)區(qū)或者不同國家的用戶顯示時(shí)間和日期,那么你需要了解Java日期類的一些更加高級(jí)的方面。在“使用Java Date和Calendar類計(jì)算,定制和解析日期的這篇文章里我們提供了對(duì)日期,日期數(shù)據(jù)的格式化,日期數(shù)據(jù)的解析和日期計(jì)算的一個(gè)概覽。對(duì)于這些概念的深入的理解對(duì)于討論更高級(jí)的諸如時(shí)區(qū),國際化標(biāo)準(zhǔn)格式和SQL日期數(shù)據(jù)等這些有關(guān)日期的問題是關(guān)鍵的。我們?cè)诒疚闹杏懻摰念悓琷ava.text.DateFormat,以及java.util.TimeZone和java.util.Locate。我們還將討論如何使用一個(gè)java.util.Date的子類java.sql.Date來從Oracle數(shù)據(jù)庫里提取和保存Java日期數(shù)據(jù)。地區(qū)的問題在我們國際化我們的日期數(shù)據(jù)以前,我們需要進(jìn)一步的學(xué)習(xí)Locale類,也就是java.util.Locale。Locale類的一個(gè)實(shí)例通常包含國家和語言信息。其中的每一個(gè)部分都是由基于國際標(biāo)準(zhǔn)化組織(ISO)制定的國家代碼ISO-3166和語言代碼ISO-639的兩字符的字符串構(gòu)成的。讓我們來創(chuàng)建兩個(gè)Locale實(shí)例,其中一個(gè)對(duì)應(yīng)的是美國英語而另一個(gè)對(duì)應(yīng)的是法國法語。見表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));}}在這個(gè)例子中,我們用getDisplayName方法來顯示Locale的一個(gè)更易讀的文本。你還應(yīng)該注意到我們?cè)谧詈笠淮握{(diào)用getDisplayName的時(shí)候,我們?cè)趯?duì)English Locale對(duì)象調(diào)用getDisplayName的時(shí)候同時(shí)傳遞了French Locale對(duì)象。這允許我們選擇顯示Locale對(duì)象所用的語言,讓我們用英語顯示法語Locale對(duì)象的內(nèi)容。下面是這個(gè)例子的輸出:Display Name: English (United States)Country: USLanguage: enDisplay Name: French (France)Country: FRLanguage: fren Display Name in French: anglais (états-Unis)多個(gè)地域的日期格式化使用java.util.Locale和java.text.DateFormat類我們就能夠格式化日期數(shù)據(jù)把它顯示給在另一個(gè)地域的用戶,比方法國。表B中的例子為英語和法語各創(chuàng)建了一個(gè)完整的日期格式化器。表 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));}}這個(gè)例子的輸出是: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注意這個(gè)輸出包括了時(shí)區(qū)信息:GMT-04:00 和 PM EDT。這個(gè)時(shí)區(qū)是人系統(tǒng)的時(shí)區(qū)設(shè)置里捕獲的。你可以看見,日期是以那個(gè)地區(qū)的用戶期望的格式顯示的。讓我們等一下來看看時(shí)區(qū)的概念 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
標(biāo)簽:
Java
相關(guān)文章:
排行榜
