Package nablarch.core.util
Class I18NUtil
java.lang.Object
nablarch.core.util.I18NUtil
国際化に使用するユーティリティクラス。
-
Method Summary
Modifier and TypeMethodDescriptionstatic Locale
createLocale
(String localeExpression) ロケール表現からロケールオブジェクトを作成する。static String
formatDateTime
(Date date, String format) フォーマットを指定して日時を文字列に変換する。static String
formatDateTime
(Date date, String format, Locale locale) フォーマットと言語を指定して日時を文字列に変換する。static String
formatDateTime
(Date date, String format, Locale locale, TimeZone timeZone) フォーマット、言語、タイムゾーンを指定して日時を文字列に変換する。static String
formatDecimal
(Number number, String format) 指定されたフォーマットと言語を使用して10進数を変換する。static String
formatDecimal
(Number number, String format, Locale language) 指定されたフォーマットと言語を使用して10進数を変換する。
-
Method Details
-
createLocale
ロケール表現からロケールオブジェクトを作成する。localeExpression
は以下のシンタックスに従って指定する。([a-z]{2}) // 言語コード(ISO-639) (?:_([A-Z]{2}|) // 国コード(ISO-3166) (?:_([A-Za-z0-9]+))? // 補助コード )?
ロケール表現の例- ja
- ja_JP
- ja_JP_variant
- Parameters:
localeExpression
- 文字列によるロケールの表現- Returns:
- 作成したロケールオブジェクト
- Throws:
IllegalArgumentException
-localeExpression
がシンタックスに適合しない場合- See Also:
-
formatDateTime
フォーマットを指定して日時を文字列に変換する。 指定するフォーマットはSimpleDateFormat
の仕様に準拠すること。 このメソッドはformatDateTime(Date, String, Locale, TimeZone)
}を呼び出す。 ロケール及びタイムゾーンは、ThreadContext
から取得する。 取得できなかった場合、デフォルトのロケール及びタイムゾーンを使用する。- Parameters:
date
- 日時(null不可)format
- フォーマット(null不可)- Returns:
- 変換した値
- See Also:
-
formatDateTime
フォーマットと言語を指定して日時を文字列に変換する。 指定するフォーマットはSimpleDateFormat
の仕様に準拠すること。 このメソッドはformatDateTime(Date, String, Locale, TimeZone)
}を呼び出す。 タイムゾーンは、ThreadContext
から取得する。 取得できなかった場合、デフォルトのタイムゾーンを使用する。- Parameters:
date
- 日時(null不可)format
- フォーマット(null不可)locale
- ロケール(null不可)- Returns:
- 変換した値
- See Also:
-
formatDateTime
フォーマット、言語、タイムゾーンを指定して日時を文字列に変換する。 指定するフォーマットはSimpleDateFormat
の仕様に準拠すること。 例:TimeZone timeZone = TimeZone.getTimeZone("Asia/Tokyo"); Date date = Calendar.getInstance(timeZone).getTime(); //--> 2011/09/09 17:22:48 String format = "yyyy/MM/dd HH:mm:ss"; I18NUtil.formatDateTime(date, format, timeZone); //--> "2011/09/09 17:22:48" timeZone = TimeZone.getTimeZone("Europe/Madrid"); I18NUtil.formatDateTime(date, format, timeZone); //--> "2011/09/09 10:22:48"
- Parameters:
date
- 日時(null不可)format
- フォーマット(null不可)locale
- ロケール(null不可)timeZone
- タイムゾーン(null不可)- Returns:
- 変換した値
- Throws:
IllegalArgumentException
- フォーマットが不正な場合
-
formatDecimal
指定されたフォーマットと言語を使用して10進数を変換する。 このメソッドはformatDecimal(Number, String, Locale)
を呼び出す。 言語は、ThreadContext
から取得する。- Parameters:
number
- 10進数(null不可)format
- フォーマット(null不可)- Returns:
- 変換した値
- See Also:
-
formatDecimal
指定されたフォーマットと言語を使用して10進数を変換する。 指定するフォーマットはDecimalFormat
の仕様に準拠すること。 例:Number number = BigDecimal.valueOf(123456789.123D); String format = "###,###,###.000"; Locale language = new Locale("ja"); I18NUtil.formatDecimal(number, format, language); //--> "123,456,789.123" language = new Locale("es"); I18NUtil.formatDecimal(number, format, language); //--> "123.456.789,123"
- Parameters:
number
- 10進数(null不可)format
- フォーマット(null不可)language
- 言語(null不可)- Returns:
- 変換した値
- Throws:
IllegalArgumentException
- フォーマットが不正な場合
-