|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.text.Format
java.text.DateFormat
java.text.SimpleDateFormat
public class SimpleDateFormat
SimpleDateFormat は、日付のフォーマットと解析を、ロケールを考慮して行うための具象クラスです。これによって、フォーマット (日付 -> テキスト)、解析 (テキスト -> 日付)、および正規化を行うことができます。
SimpleDateFormat を使うと、日付時刻フォーマットのユーザー定義パターンを選択することによって、とりあえず使用を開始することができます。しかし、できるだけ、DateFormat の getTimeInstance、getDateInstance、または getDateTimeInstance で日付時刻フォーマッタを作成するようにしてください。これらのクラスメソッドはいずれも、デフォルトフォーマットパターンで初期化された日付時刻フォーマッタを返すことができます。フォーマットパターンは、必要に応じて、applyPattern メソッドを使って修正することができます。これらのメソッドの使い方については、DateFormat を参照してください。
日付/時刻フォーマットは「日付/時刻パターン」文字列で指定されます。日付/時刻パターン文字列内では、引用符で囲まれていない 'A' 〜 'Z' および 'a' 〜 'z' は、日付または時刻文字列のコンポーネントを表すパターン文字として解釈されます。テキストは単一引用符 (') で囲むことで解釈を回避できます。''」は単一引用符を表します。ほかのすべての文字は解釈されず、フォーマット中に出力文字列へ単純にコピーされるか、解析中に入力文字列に対して一致させられます。
次のパターン文字が定義されます。(他の 'A' 〜 'Z' および 'a' 〜 'z' のすべての文字は予約済み)
パターン文字は、その数で正確な表現が決まるため、通常繰り返されます。
文字 日付または時刻のコンポーネント 表示 例 G紀元 Text ADy年 年 1996;96M月 月 July;Jul;07w年における週 数値 27W月における週 数値 2D年における日 数値 189d月における日 数値 10F月における曜日 数値 2E曜日 Text Tuesday;Tuea午前/午後 Text PMH一日における時 (0 〜 23) 数値 0k一日における時 (1 〜 24) 数値 24K午前/午後の時 (0 〜 11) 数値 0h午前/午後の時 (1 〜 12) 数値 12m分 数値 30s秒 数値 55Sミリ秒 数値 978zタイムゾーン 一般的なタイムゾーン Pacific Standard Time;PST;GMT-08:00Zタイムゾーン RFC 822 タイムゾーン -0800
Calendar がグレゴリオ暦の場合は、次に示す規則が適用されます。SimpleDateFormat は特定の世紀に合わせて短縮年を解釈する必要があります。この解釈は、SimpleDateFormat のインスタンスの生成前の 80 年以内から生成後の 20 年以内に日付を調整することによって行われます。たとえば、「MM/dd/yy」のパターンと 1997 年 1 月 1 日に生成された SimpleDateFormat のインスタンスを使うと、「01/11/12」という文字列は 2012 年 1 月 11 日と解釈され、「05/04/64」という文字列は 1964 年 5 月 4 日と解釈されます。 解析中は、Character.isDigit(char) で定義された 2 桁を含む文字列のみがデフォルトの世紀に解析されます。1 桁の文字列、3 桁以上の文字列、あるいは数値以外を含む 2 桁の文字列 (-1 など) といったその他の数値文字列は、文字どおりに解釈されます。つまり、同じパターンを用いて「01/02/3」または「01/02/003」を解析すると、A.D. 3 年 1 月 2 日となります。同様に、「01/02/-3」は B.C. 4 年 1 月 2 日と解析されます。
GMTOffsetTimeZone:
GMT 符号 時 :Minutes
Sign: 次のどれか
+ -
Hours:
数字
Digit Digit
Minutes:
Digit Digit
Digit: 次のどれか
0 1 2 3 4 5 6 7 8 9
時は 0 〜 23、分は 00 〜 59 です。フォーマットはロケールに依存せず、数字は Unicode 標準の Basic Latin ブロックの数字でなければなりません。
解析には、RFC 822 タイムゾーンも受け付けられます。
RFC822TimeZone:
Sign TwoDigitHours Minutes
TwoDigitHours:
Digit Digit
TwoDigitHours は 00 〜 23 です。他の定義は一般的なタイムゾーンと同様です。
解析には、一般的なタイムゾーンも受け付けられます。
SimpleDateFormat は「地域対応された日付/時刻パターン」文字列もサポートします。この文字列では、前述したパターン文字はロケール依存の他の文字パターンに置き換えられます。SimpleDateFormat はパターン文字以外のテキストの地域対応を行いません。 この地域対応は、クラスのクライアントによります。
日付/時刻パターン 結果 "yyyy.MM.dd G 'at' HH:mm:ss z"2001.07.04 AD at 12:08:56 PDT"EEE, MMM d, ''yy"Wed, Jul 4, '01"h:mm a"12:08 PM"hh 'o''clock' a, zzzz"12 o'clock PM, Pacific Daylight Time"K:mm a, z"0:08 PM, PDT"yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04 AD 12:08 PM"EEE, d MMM yyyy HH:mm:ss Z"Wed, 4 Jul 2001 12:08:56 -0700"yyMMddHHmmssZ"010704120856-0700「yyyy-MM-dd'T'HH:mm:ss.SSSZ」2001-07-04T12:08:56.235-0700
日付フォーマットは同期化されません。スレッドごとに別のフォーマットインスタンスを作成することをお勧めします。複数のスレッドがフォーマットに同時にアクセスする場合は、外部的に同期化する必要があります。
Calendar,
TimeZone,
DateFormat,
DateFormatSymbols,
直列化された形式| 入れ子のクラスの概要 |
|---|
| クラス java.text.DateFormat から継承された入れ子のクラス/インタフェース |
|---|
DateFormat.Field |
| フィールドの概要 |
|---|
| コンストラクタの概要 | |
|---|---|
SimpleDateFormat()
デフォルトロケールのデフォルトパターンと日付フォーマット記号を使って SimpleDateFormat を構築します。 |
|
SimpleDateFormat(String pattern)
指定されたパターンとデフォルトロケールのデフォルト日付フォーマット記号を使って SimpleDateFormat を構築します。 |
|
SimpleDateFormat(String pattern,
DateFormatSymbols formatSymbols)
指定されたパターンと日付フォーマット記号を使って SimpleDateFormat を構築します。 |
|
SimpleDateFormat(String pattern,
Locale locale)
指定されたパターンと指定されたロケールのデフォルト日付フォーマット記号を使って SimpleDateFormat を構築します。 |
|
| メソッドの概要 | |
|---|---|
void |
applyLocalizedPattern(String pattern)
指定された地域対応されたパターン文字列を、この日付フォーマットに適用します。 |
void |
applyPattern(String pattern)
指定されたパターン文字列を、この日付フォーマットに適用します。 |
Object |
clone()
この SimpleDateFormat のコピーを作成します。 |
boolean |
equals(Object obj)
指定されたオブジェクトとこの SimpleDateFormat が等しいかどうかを比較します。 |
StringBuffer |
format(Date date,
StringBuffer toAppendTo,
FieldPosition pos)
指定された Date を日付/時刻文字列にフォーマットし、指定された StringBuffer に結果を追加します。 |
AttributedCharacterIterator |
formatToCharacterIterator(Object obj)
Object をフォーマットし、 AttributedCharacterIterator を生成します。 |
Date |
get2DigitYearStart()
2 桁年が属すると解釈される 100 年間の開始日付を返します。 |
DateFormatSymbols |
getDateFormatSymbols()
この日付フォーマットの、日付と時刻のフォーマット記号のコピーを取得します。 |
int |
hashCode()
この SimpleDateFormat オブジェクトのハッシュコード値を返します。 |
Date |
parse(String text,
ParsePosition pos)
文字列からテキストを解析して Date を生成します。 |
void |
set2DigitYearStart(Date startDate)
2 桁年が属すると解釈される 100 年間をユーザーが指定する日付から始まるように設定します。 |
void |
setDateFormatSymbols(DateFormatSymbols newFormatSymbols)
この日付フォーマットの、日付と時刻のフォーマット記号を設定します。 |
String |
toLocalizedPattern()
この日付フォーマットの地域対応されたパターン文字列を返します。 |
String |
toPattern()
この日付フォーマットを記述するパターン文字列を返します。 |
| クラス java.text.Format から継承されたメソッド |
|---|
format, parseObject |
| クラス java.lang.Object から継承されたメソッド |
|---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public SimpleDateFormat()
SimpleDateFormat を構築します。注:このコンストラクタはすべてのロケールをサポートするわけではありません。すべてをカバーするには、DateFormat クラスのファクトリメソッドを使用してください。
public SimpleDateFormat(String pattern)
SimpleDateFormat を構築します。注:このコンストラクタはすべてのロケールをサポートするわけではありません。すべてをカバーするには、DateFormat クラスのファクトリメソッドを使用してください。
pattern - 日付と時刻のフォーマットを記述するパターン
NullPointerException - 指定されたパターンが null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合
public SimpleDateFormat(String pattern,
Locale locale)
SimpleDateFormat を構築します。注:このコンストラクタはすべてのロケールをサポートするわけではありません。すべてをカバーするには、DateFormat クラスのファクトリメソッドを使用してください。
pattern - 日付と時刻のフォーマットを記述するパターンlocale - 日付フォーマット記号を使用するロケール
NullPointerException - 指定されたパターンまたはロケールが null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合
public SimpleDateFormat(String pattern,
DateFormatSymbols formatSymbols)
SimpleDateFormat を構築します。
pattern - 日付と時刻のフォーマットを記述するパターンformatSymbols - フォーマットに使用する日付フォーマット記号
NullPointerException - 指定されたパターンまたは formatSymbols が null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合| メソッドの詳細 |
|---|
public void set2DigitYearStart(Date startDate)
startDate - 解析中、2 桁年は
startDate 〜 startDate + 100 年 の範囲に配置されるget2DigitYearStart()public Date get2DigitYearStart()
set2DigitYearStart(java.util.Date)
public StringBuffer format(Date date,
StringBuffer toAppendTo,
FieldPosition pos)
Date を日付/時刻文字列にフォーマットし、指定された StringBuffer に結果を追加します。
DateFormat 内の formatdate - 日付/時刻文字列にフォーマットする日付/時刻値toAppendTo - 新しい日付/時刻テキストを追加する位置pos - フォーマットする位置。入力では、必要であれば
位置合わせフィールド。出力では、その位置合わせフィールドのオフセット
NullPointerException - 指定された日付が null の場合public AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIterator を生成します。返された AttributedCharacterIterator を使用すると、結果の String を構築できるとともに、結果の String についての情報を判定できます。
AttributedCharacterIterator の各属性キーは DateFormat.Field 型です。対応する属性値は属性キーと同一です。
Format 内の formatToCharacterIteratorobj - フォーマットするオブジェクト
NullPointerException - obj が null の場合
IllegalArgumentException - if the Format cannot format the
given object, or if the Format's pattern string is invalid.
public Date parse(String text,
ParsePosition pos)
Date を生成します。
メソッドは pos によって指定されたインデックスを開始位置としてテキストの解析を試みます。解析が完了すると、pos のインデックスは、使用された最後の文字 (解析では、文字列の最後までのすべての文字を使用する必要はありません) のあとのインデックスに更新され、解析された日付が返されます。更新された pos は、このメソッドの次の呼び出しの開始点を示すのに使用できます。エラーが発生した場合は、pos のインデックスは変更されず、エラーが発生した文字のインデックスに pos のエラーインデックスが設定され、null が返されます。
DateFormat 内の parsetext - 部分的に解析される Stringpos - A ParsePosition object with index and error
index information as described above.
Date In case of
error, returns null.
NullPointerException - text または pos が null の場合DateFormat.setLenient(boolean)public String toPattern()
public String toLocalizedPattern()
public void applyPattern(String pattern)
pattern - この日付フォーマットのための新しい日付と時刻のパターン
NullPointerException - 指定されたパターンが null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合public void applyLocalizedPattern(String pattern)
pattern - a String to be mapped to the new date and time format
pattern for this format
NullPointerException - 指定されたパターンが null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合public DateFormatSymbols getDateFormatSymbols()
setDateFormatSymbols(java.text.DateFormatSymbols)public void setDateFormatSymbols(DateFormatSymbols newFormatSymbols)
newFormatSymbols - 新しい日付と時刻のフォーマット記号
NullPointerException - 指定された newFormatSymbols が null の場合getDateFormatSymbols()public Object clone()
SimpleDateFormat のコピーを作成します。また、フォーマットの日付フォーマット記号を複製します。
DateFormat 内の cloneSimpleDateFormat の複製Cloneablepublic int hashCode()
SimpleDateFormat オブジェクトのハッシュコード値を返します。
DateFormat 内の hashCodeSimpleDateFormat オブジェクトのハッシュコード値Object.equals(java.lang.Object),
Hashtablepublic boolean equals(Object obj)
SimpleDateFormat が等しいかどうかを比較します。
DateFormat 内の equalsobj - 比較対象の参照オブジェクト
SimpleDateFormat と等しい場合は tureObject.hashCode(),
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。