@Published public final class I18NUtil extends Object
修飾子とタイプ | メソッドと説明 |
---|---|
static 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進数を変換する。
|
public static Locale createLocale(String localeExpression)
localeExpression
は以下のシンタックスに従って指定する。
([a-z]{2}) // 言語コード(ISO-639) (?:_([A-Z]{2}|) // 国コード(ISO-3166) (?:_([A-Za-z0-9]+))? // 補助コード )?ロケール表現の例
localeExpression
- 文字列によるロケールの表現IllegalArgumentException
- localeExpression
がシンタックスに適合しない場合Locale
public static String formatDateTime(Date date, String format)
SimpleDateFormat
の仕様に準拠すること。
このメソッドはI18NUtil.formatDateTime(Date, String, Locale, TimeZone)
}を呼び出す。
ロケール及びタイムゾーンは、ThreadContext
から取得する。
取得できなかった場合、デフォルトのロケール及びタイムゾーンを使用する。date
- 日時(null不可)format
- フォーマット(null不可)I18NUtil.formatDateTime(Date, String, Locale, TimeZone)
public static String formatDateTime(Date date, String format, Locale locale)
SimpleDateFormat
の仕様に準拠すること。
このメソッドはI18NUtil.formatDateTime(Date, String, Locale, TimeZone)
}を呼び出す。
タイムゾーンは、ThreadContext
から取得する。
取得できなかった場合、デフォルトのタイムゾーンを使用する。date
- 日時(null不可)format
- フォーマット(null不可)locale
- ロケール(null不可)I18NUtil.formatDateTime(Date, String, Locale, TimeZone)
public static String formatDateTime(Date date, String format, Locale locale, TimeZone timeZone)
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"
date
- 日時(null不可)format
- フォーマット(null不可)locale
- ロケール(null不可)timeZone
- タイムゾーン(null不可)IllegalArgumentException
- フォーマットが不正な場合public static String formatDecimal(Number number, String format)
I18NUtil.formatDecimal(Number, String, Locale)
を呼び出す。
言語は、ThreadContext
から取得する。number
- 10進数(null不可)format
- フォーマット(null不可)I18NUtil.formatDecimal(Number, String, Locale)
public static String formatDecimal(Number number, String format, Locale language)
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"
number
- 10進数(null不可)format
- フォーマット(null不可)language
- 言語(null不可)IllegalArgumentException
- フォーマットが不正な場合