<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Java 語言環境 – 創建和設置默認語言環境 > 原文: [https://howtodoinjava.com/java/date-time/java-locale-api-examples/](https://howtodoinjava.com/java/date-time/java-locale-api-examples/) 如果要以符合用戶語言和文化期望的用戶友好方式顯示數字,日期和時間,則需要使用 Java 語言環境 api。 在 Java 中,[`java.util.Locale`](https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html)類表示世界上特定的語言和地區。 如果一個類根據語言環境改變其行為,則稱其為**對語言環境敏感的**。 例如,`NumberFormat`和`DateFormat`類是對語言環境敏感的。 數字和日期的格式,它的返回取決于**語言環境**。 ```java Table of Contents Create Locale Instance Set Default Locale ``` ## 創建語言環境實例 您可以通過以下方式**創建 Java 語言環境**實例: 1. #### 靜態語言環境對象 這是最簡單的方法,并使用`Locale`類中的預定義常量。 ```java Locale usLocale = Locale.US; long number = 123456789L; NumberFormat nf = NumberFormat.getInstance(usLocale); System.out.println( nf.format(number) ); //123,456,789 Date now = new Date(); DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, usLocale); System.out.println( df.format(now) ); //July 19, 2016 12:43:12 PM IST ``` > 請注意,以這種方式構建語言環境時,`Locale`的區域部分未定義。 因此,以下兩個語句本質上是相等的: > > ```java > //Region is missing in both cases > Locale usLocale = Locale.US; //1 > Locale usLocale = new Locale.Builder().setLanguage("en").build(); //2 > > ``` 2. #### 語言環境構造器 `Locale`類中提供了三個構造器: * `Locale(String language)` * `Locale(String language, String country)` * `Locale(String language, String country, String variant)` ```java Locale usLocale = new Locale("en"); //Locale usLocale = new Locale("en", "US"); long number = 123456789L; NumberFormat nf = NumberFormat.getInstance(usLocale); System.out.println( nf.format(number) ); //123,456,789 Date now = new Date(); DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, usLocale); System.out.println( df.format(now) ); //July 19, 2016 12:43:12 PM IST ``` 3. #### `Locale.Builder`類 `Locale.Builder`工具類可用于構造符合 [IETF BCP(最佳通用實踐)47](https://tools.ietf.org/html/bcp47) 語法的`Locale`對象。 ```java Locale usLocale = new Locale.Builder().setLanguage("en").setRegion("US").build(); long number = 123456789L; NumberFormat nf = NumberFormat.getInstance(usLocale); System.out.println( nf.format(number) ); //123,456,789 Date now = new Date(); DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, usLocale); System.out.println( df.format(now) ); //July 19, 2016 12:43:12 PM IST ``` > 如果其參數不是`BCP 47`標準的格式正確的元素,則此方法將返回`java.util.IllformedLocaleException`錯誤。 4. #### `Locale.forLanguageTag()`方法 如果您具有符合 *IETF BCP 47* 標準的*語言*標簽字符串,則可以使用`forLanguageTag(String)`工廠方法。 ```java Locale usLocale = Locale.forLanguageTag("en-US"); long number = 123456789L; NumberFormat nf = NumberFormat.getInstance(usLocale); System.out.println( nf.format(number) ); //123,456,789 Date now = new Date(); DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, usLocale); System.out.println( df.format(now) ); //July 19, 2016 12:43:12 PM IST ``` ## 設置默認語言環境 盡管可以在運行時在所有對語言環境敏感的類中設置`Locale`,但是如果我們可以在啟動時為每個用戶請求設置默認語言環境(或特定于應用程序的語言環境),則無需為每個應用程序代碼中的語言環境敏感的對象設置語言環境,因此我們可以避免很多代碼行,并且也很少出現缺陷。 使用`Locale.setDefault()`方法設置默認情況下將使用所有對語言環境敏感的類的`Locale`實例。 ```java Locale.setDefault(Locale.FRANCE); ``` `Locale`類還允許您為兩個不同的類別設置默認的`Locale`。 #### 語言環境類別 `Locale.Category`枚舉表示兩個區域設置類別: 1. `Locale.Category.DISPLAY` – 適用于**應用程序的用戶界面**,例如資源束消息。 2. `Locale.Category.FORMAT` – 用于日期和數字格式,具體取決于特定的區域信息 ```java Locale.setDefault(Locale.Category.DISPLAY, Locale.US); Locale.setDefault(Locale.Category.FORMAT, Locale.FR); ``` 讓我們來看一個例子。 ```java //Set them at application startup or where request cycle begin Locale.setDefault(Locale.Category.DISPLAY, Locale.US); Locale.setDefault(Locale.Category.FORMAT, Locale.FRANCE); ResourceBundle resourceBundle = ResourceBundle.getBundle("bundleName", Locale.getDefault(Locale.Category.DISPLAY)); String message = resourceBundle.getString("message.key"); Date now = new Date(); DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); String date = df.format(now); ``` 將我的問題放在評論部分。 學習愉快! 資源: [ISO 國家/地區代碼](http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html) [ISO 語言代碼](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看