org.apache.commons.lang.time
クラス FastDateFormat

java.lang.Object
  拡張java.text.Format
      拡張org.apache.commons.lang.time.FastDateFormat
すべての実装インタフェース:
Cloneable, Serializable

public class FastDateFormat
extends Format

FastDateFormat は高速に動作するスレッドセーフな SimpleDateFormat です。

このクラスは SimpleDateFormat を使用したフォーマットを行う大抵の処理をそのまま置き換えることが出来ます。 このクラスは特にマルチスレッドで動作するサーバ環境で有用です。 SimpleDateFormat は全ての JDK のバージョンにおいてスレッドセーフではなく、 Sun はこれをバグまたは要望として対応することもありません。

このクラスはフォーマットの処理にのみ対応しますが、全てのパターンのフォーマットの処理が SimpleDateFormat と互換性を持ちます(タイムゾーンを除いて - 以下を参照)。

Java 1.4 は RFC822 のフォーマットでタイムゾーンを表す 'Z' という新しいパターンの文字を取り入れました(例えば +0800-1100)。 このクラスでは(全ての JDK のバージョンで)この文字を使用することができます。

加えて、 'ZZ' のパターンは ISO8601 のフルフォーマットのタイムゾーンを表します(例えば +08:00-11:00)。 これは Java 1.4 との多少の非互換性を招きますが、有用な機能を得ることとなります。

導入されたバージョン:
2.0
バージョン:
$Id: FastDateFormat.java,v 1.1.1.1 2004/02/13 10:02:05 hioki Exp $
作成者:
TeaTrove project, Brian S O'Neill, Sean Schofield, Gary Gregory, Stephen Colebourne
関連項目:
直列化された形式
翻訳者:
日置 聡

入れ子クラスの概要
 
クラス java.text.Format から継承した入れ子クラス
Format.Field
 
フィールドの概要
static int FULL
          FULL ロケールに依存した日付または時間のフォーマットのための定数です。
static int LONG
          LONG ロケールに依存した日付または時間のフォーマットのための定数です。
static int MEDIUM
          MEDIUM ロケールに依存した日付または時間のフォーマットのための定数です。
static int SHORT
          SHORT ロケールに依存した日付または時間のフォーマットのための定数です。
 
コンストラクタの概要
protected FastDateFormat(String pattern, TimeZone timeZone, Locale locale)
          新たな FastDateFormat を生成します。
 
メソッドの概要
protected  StringBuffer applyRules(Calendar calendar, StringBuffer buf)
          指定されたカレンダーにルールを適用してフォーマットを実施します。
 boolean equals(Object obj)
          2つのオブジェクトが等しいかどうか比較します。
 String format(Calendar calendar)
          Calendar オブジェクトをフォーマットします。
 StringBuffer format(Calendar calendar, StringBuffer buf)
          Calendar オブジェクトをフォーマットし、指定された StringBuffer に出力します。
 String format(Date date)
          Date オブジェクトをフォーマットします。
 StringBuffer format(Date date, StringBuffer buf)
          Date オブジェクトをフォーマットし、指定された StringBuffer に出力します。
 StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
          Date オブジェクトまたは Calendar オブジェクトをフォーマットします。
static FastDateFormat getDateInstance(int style, TimeZone timeZone, Locale locale)
          指定されたスタイル、タイムゾーン、ロケールを用いて日付のフォーマッターインスタンスを取得します。
static FastDateFormat getDateTimeInstance(int dateStyle, int timeStyle, TimeZone timeZone, Locale locale)
          指定されたスタイル、タイムゾーン、ロケールを用いて日付/時間のフォーマッターインスタンスを取得します。
static FastDateFormat getInstance()
          デフォルトのロケールとデフォルトのパターンを用いてフォーマッターのインスタンスを取得します。
static FastDateFormat getInstance(String pattern)
          デフォルトのロケールと指定されたパターンを用いてフォーマッターのインスタンスを取得します。
static FastDateFormat getInstance(String pattern, Locale locale)
          指定されたパターンと指定されたロケールを用いてフォーマッターのインスタンスを取得します。
static FastDateFormat getInstance(String pattern, TimeZone timeZone)
          指定されたパターンと指定されたタイムゾーンを用いてフォーマッターのインスタンスを取得します。
static FastDateFormat getInstance(String pattern, TimeZone timeZone, Locale locale)
          指定されたパターン、タイムゾーン、ロケールを用いてフォーマッターのインスタンスを取得します。
 Locale getLocale()
          このフォーマッターで使用されるロケールを取得します。
 int getMaxLengthEstimate()
          このフォーマッターが生成する文字列の最大長の見積もりを返します。
 String getPattern()
          このフォーマッターで使用されるパターンを取得します。
static FastDateFormat getTimeInstance(int style, TimeZone timeZone, Locale locale)
          指定されたスタイル、タイムゾーン、ロケールを用いて時間のフォーマッターインスタンスを取得します。
 TimeZone getTimeZone()
          このフォーマッターで使用されるタイムゾーンを取得します。
 boolean getTimeZoneOverridesCalendar()
          カレンダーのタイムゾーンがフォーマッターに上書きされる場合、 true を返します。
 int hashCode()
          適切なハッシュコードです。
protected  void init()
          最初に使用される際のインスタンスの初期化を行います。
 Object parseObject(String source, ParsePosition pos)
          パース処理はサポートされません。
protected  List parsePattern()
          パターンから生成された Rule のリストを返します。
protected  String parseToken(String pattern, int[] indexRef)
          トークンのパースを行います。
protected  org.apache.commons.lang.time.FastDateFormat.NumberRule selectNumberRule(int field, int padding)
          要求されたパディングに対する適切なルールを返します。
 String toString()
          このフォーマッターを説明するデバッグのための文字列
 
クラス java.text.Format から継承したメソッド
clone, format, formatToCharacterIterator, parseObject
 
クラス java.lang.Object から継承したメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

FULL

public static final int FULL
FULL ロケールに依存した日付または時間のフォーマットのための定数です。

関連項目:
定数フィールド値

LONG

public static final int LONG
LONG ロケールに依存した日付または時間のフォーマットのための定数です。

関連項目:
定数フィールド値

MEDIUM

public static final int MEDIUM
MEDIUM ロケールに依存した日付または時間のフォーマットのための定数です。

関連項目:
定数フィールド値

SHORT

public static final int SHORT
SHORT ロケールに依存した日付または時間のフォーマットのための定数です。

関連項目:
定数フィールド値
コンストラクタの詳細

FastDateFormat

protected FastDateFormat(String pattern,
                         TimeZone timeZone,
                         Locale locale)

新たな FastDateFormat を生成します。

パラメータ:
pattern - SimpleDateFormat と互換性のあるパターン
timeZone - 使用されるタイムゾーン、 null が指定された場合、 DateCalendar に対してデフォルトの値が使用されます
locale - 使用されるロケール、 null が指定された場合、システムのデフォルトが使用されます
例外:
IllegalArgumentException - パターンが不正または null の場合
メソッドの詳細

getInstance

public static FastDateFormat getInstance()

デフォルトのロケールとデフォルトのパターンを用いてフォーマッターのインスタンスを取得します。

戻り値:
日付/時間のフォーマッター

getInstance

public static FastDateFormat getInstance(String pattern)

デフォルトのロケールと指定されたパターンを用いてフォーマッターのインスタンスを取得します。

パラメータ:
pattern - SimpleDateFormat と互換性のあるパターン
戻り値:
パターンをベースにした日付/時間のフォーマッター
例外:
IllegalArgumentException - パターンが不正な場合

getInstance

public static FastDateFormat getInstance(String pattern,
                                         TimeZone timeZone)

指定されたパターンと指定されたタイムゾーンを用いてフォーマッターのインスタンスを取得します。

パラメータ:
pattern - SimpleDateFormat と互換性のあるパターン
timeZone - フォーマットされた日付のタイムゾーンを上書きする任意のタイムゾーン
戻り値:
パターンをベースにした日付/時間のフォーマッター
例外:
IllegalArgumentException - パターンが不正な場合

getInstance

public static FastDateFormat getInstance(String pattern,
                                         Locale locale)

指定されたパターンと指定されたロケールを用いてフォーマッターのインスタンスを取得します。

パラメータ:
pattern - SimpleDateFormat と互換性のあるパターン
locale - システムのロケールを上書きする任意のロケール
戻り値:
パターンをベースにした日付/時間のフォーマッター
例外:
IllegalArgumentException - パターンが不正な場合

getInstance

public static FastDateFormat getInstance(String pattern,
                                         TimeZone timeZone,
                                         Locale locale)

指定されたパターン、タイムゾーン、ロケールを用いてフォーマッターのインスタンスを取得します。

パラメータ:
pattern - SimpleDateFormat と互換性のあるパターン
timeZone - フォーマットされた日付のタイムゾーンを上書きする任意のタイムゾーン
locale - システムのロケールを上書きする任意のロケール
戻り値:
パターンをベースにした日付/時間のフォーマッター
例外:
パターンが不正または - null な場合

getDateInstance

public static FastDateFormat getDateInstance(int style,
                                             TimeZone timeZone,
                                             Locale locale)

指定されたスタイル、タイムゾーン、ロケールを用いて日付のフォーマッターインスタンスを取得します。

パラメータ:
style - 日付のスタイル:FULL または LONG または MEDIUM または SHORT
timeZone - フォーマットされた日付のタイムゾーンを上書きする任意のタイムゾーン
locale - システムのロケールを上書きする任意のロケール
戻り値:
ローカライズされた標準の日付のフォーマッター
例外:
IllegalArgumentException - ロケールが定義された日付のパターンを持っていない場合

getTimeInstance

public static FastDateFormat getTimeInstance(int style,
                                             TimeZone timeZone,
                                             Locale locale)

指定されたスタイル、タイムゾーン、ロケールを用いて時間のフォーマッターインスタンスを取得します。

パラメータ:
style - 時間のスタイル:FULL または LONG または MEDIUM または SHORT
timeZone - フォーマットされた日付のタイムゾーンを上書きする任意のタイムゾーン
locale - システムのロケールを上書きする任意のロケール
戻り値:
ローカライズされた標準の時間のフォーマッター
例外:
IllegalArgumentException - ロケールが定義された時間のパターンを持っていない場合

getDateTimeInstance

public static FastDateFormat getDateTimeInstance(int dateStyle,
                                                 int timeStyle,
                                                 TimeZone timeZone,
                                                 Locale locale)

指定されたスタイル、タイムゾーン、ロケールを用いて日付/時間のフォーマッターインスタンスを取得します。

パラメータ:
dateStyle - 日付のスタイル:FULL または LONG または MEDIUM または SHORT
timeStyle - 時間のスタイル:FULL または LONG または MEDIUM または SHORT
timeZone - フォーマットされた日付のタイムゾーンを上書きする任意のタイムゾーン
locale - システムのロケールを上書きする任意のロケール
戻り値:
a localized standard date/time formatter
例外:
IllegalArgumentException - ロケールが定義された日付/時間のパターンを持っていない場合

init

protected void init()

最初に使用される際のインスタンスの初期化を行います。


parsePattern

protected List parsePattern()

パターンから生成された Rule のリストを返します。

戻り値:
Rule オブジェクトの List
例外:
IllegalArgumentException - パターンが不正な場合

parseToken

protected String parseToken(String pattern,
                            int[] indexRef)

トークンのパースを行います。

パラメータ:
pattern - パターン
indexRef - 参照のインデックス
戻り値:
パースされたトークン

selectNumberRule

protected org.apache.commons.lang.time.FastDateFormat.NumberRule selectNumberRule(int field,
                                                                                  int padding)

要求されたパディングに対する適切なルールを返します。

パラメータ:
field - ルールを取得する対象となるフィールド
padding - 要求されたパディング
戻り値:
パディングに対応する新たなルール

format

public StringBuffer format(Object obj,
                           StringBuffer toAppendTo,
                           FieldPosition pos)

Date オブジェクトまたは Calendar オブジェクトをフォーマットします。

パラメータ:
obj - フォーマットの対象となるオブジェクト
toAppendTo - 書き込み先となるバッファ
pos - フォーマットする位置 - 無効
戻り値:
フォーマットの結果が出力されたバッファ

format

public String format(Date date)

Date オブジェクトをフォーマットします。

パラメータ:
date - フォーマットの対象となる日付
戻り値:
フォーマットされた文字列

format

public String format(Calendar calendar)

Calendar オブジェクトをフォーマットします。

パラメータ:
calendar - フォーマットの対象となるカレンダー
戻り値:
フォーマットされた文字列

format

public StringBuffer format(Date date,
                           StringBuffer buf)

Date オブジェクトをフォーマットし、指定された StringBuffer に出力します。

パラメータ:
date - フォーマットの対象となる日付
buf - 書き込み先となるバッファ
戻り値:
指定された文字列のバッファ

format

public StringBuffer format(Calendar calendar,
                           StringBuffer buf)

Calendar オブジェクトをフォーマットし、指定された StringBuffer に出力します。

パラメータ:
calendar - フォーマットの対象となるカレンダー
buf - 書き込み先となるバッファ
戻り値:
指定された文字列のバッファ

applyRules

protected StringBuffer applyRules(Calendar calendar,
                                  StringBuffer buf)

指定されたカレンダーにルールを適用してフォーマットを実施します。

パラメータ:
calendar - フォーマットの対象となるカレンダー
buf - 書き込み先となるバッファ
戻り値:
指定された文字列のバッファ

parseObject

public Object parseObject(String source,
                          ParsePosition pos)

パース処理はサポートされません。

パラメータ:
source - パースの対象となる文字列
pos - パーすする位置
戻り値:
サポートされないため、null

getPattern

public String getPattern()

このフォーマッターで使用されるパターンを取得します。

戻り値:
SimpleDateFormat と互換性のあるパターン

getTimeZone

public TimeZone getTimeZone()

このフォーマッターで使用されるタイムゾーンを取得します。

このタイムゾーンは常時 Date のフォーマットに使用されます。 Calendar がフォーマットのために渡された場合、このタイムゾーンは getTimeZoneOverridesCalendar() の結果に応じて使用されます。

戻り値:
タイムゾーン

getTimeZoneOverridesCalendar

public boolean getTimeZoneOverridesCalendar()

カレンダーのタイムゾーンがフォーマッターに上書きされる場合、 true を返します。

戻り値:
カレンダーのタイムゾーンがフォーマッターに上書きされる場合、 true

getLocale

public Locale getLocale()

このフォーマッターで使用されるロケールを取得します。

戻り値:
ロケール

getMaxLengthEstimate

public int getMaxLengthEstimate()

このフォーマッターが生成する文字列の最大長の見積もりを返します。

実際のフォーマットされた文字の長さはほとんどの場合、この長さ以下です。

戻り値:
フォーマットされた文字列の最大長

equals

public boolean equals(Object obj)

2つのオブジェクトが等しいかどうか比較します。

パラメータ:
obj - 比較対照となるオブジェクト
戻り値:
等しい場合、true

hashCode

public int hashCode()

適切なハッシュコードです。

戻り値:
equals と互換性のあるハッシュコード

toString

public String toString()

このフォーマッターを説明するデバッグのための文字列

戻り値:
a debugging string


このドキュメントは、Ja-Jakartaにより訳されました。 コメントがある場合は report@jajakarta.orgまでお願いします。
Translated into Japanese by jajakarta.org. The original page is here.
Copyright (c) 2002-2003 - Apache Software Foundation