SimpleDateFormat クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SimpleDateFormat は、ロケールに依存する方法で日付を書式設定および解析するための具象クラスです。
[Android.Runtime.Register("java/text/SimpleDateFormat", DoNotGenerateAcw=true)]
public class SimpleDateFormat : Java.Text.DateFormat
[<Android.Runtime.Register("java/text/SimpleDateFormat", DoNotGenerateAcw=true)>]
type SimpleDateFormat = class
inherit DateFormat
- 継承
- 属性
注釈
SimpleDateFormat は、ロケールに依存する方法で日付を書式設定および解析するための具象クラスです。 書式設定 (日付とテキスト)、解析 (テキストと日付)、正規化が可能です。
SimpleDateFormat を使用すると、日付/時刻の書式設定にユーザー定義のパターンを選択することから始めます。 ただし、getTimeInstanceでgetDateInstance、getDateTimeInstance、またはDateFormatを使用して、日付/時刻フォーマッタを作成することをお勧めします。 これらの各クラス メソッドは、既定の書式パターンで初期化された日付/時刻フォーマッタを返すことができます。 必要に応じて、 applyPattern メソッドを使用して書式パターンを変更できます。 これらのメソッドの使用方法の詳細については、 DateFormatを参照してください。
<h2>Date および Time Patterns</h2>
日付と時刻の形式は、 <em>date および time パターン</em> 文字列で指定します。 日付と時刻のパターン文字列内では、 'A' から 'Z' 、および 'a' から 'z' までの引用符で囲まれていない文字は、日付または時刻の文字列の構成要素を表すパターン文字として解釈されます。 解釈を避けるために、テキストは単一引用符 (') を使用して引用符で囲むことができます。
"''" は単一引用符を表します。 他のすべての文字は解釈されません。これらは、書式設定中に出力文字列にコピーされるか、解析中に入力文字列と照合されます。
次のパターン文字が定義されています ('A'から'Z'、および'a'から'z'までの他のすべての文字は予約されています)。<blockquote><table class="striped"><caption style="display:none">Chart はパターン文字、日付/時刻コンポーネント、プレゼンテーション、および例を示します。</caption><thead><tr><th scope="col" style="text-align:left">Letter <th scope="col" style="text-align:left">Date または Time Component <th scope="col" style="text-align:left">Presentation <>th scope="col" style="text-align:left"<Examples >th scope="col" style="text-align:left"<Supported (API Levels) >/thead<>tbody<>tr<>th scope="row"G<>tdEradesignator <td>Text<td>AD<td>1+</td><tr><th scope="row">y<td>Year <td>Year<td>1996; 96<td>1+</td><tr><th scope="row">Y<td>Week year <td>Year<td>2009; 09<td>24+</td><tr><th scope="row">M<td>Month in year (context sensitive) <td>Month<td>July; Jul; 07<td>1+</td><tr><th scope="row">L<td>年の月 (スタンドアロン フォーム) <td>Month<td>July; Jul; 07<td>TBD</td><tr><th scope="row">w<td>Week in year <td>Number<td>27<td>1+</td><tr><th scope="row ">W<td>Week in month <td>Number<td>2<td>1+</td><tr><th scope="row">D<td>Day in year <td>Number<tdd>189<td>1+</td><tr><th scope="row">d<td>Day in month <td>Number<td>10<td>1+</td><tr><th scope="row ">F<td>月の曜日 <td>Number<td>2<td>1+</td><tr><th scope="row">E<td>Day name in week <td>Text<td>Tuesday;Tue<td>1+</td><tr><th scope="row">u<td>day number of week (1 = Monday, .., 7 = 日曜日) <td>Number<td>1<td>24+</td><tr><th scope="row">a<td>Am/pm marker <td>Text<td>PM<td>1+</td><tr><th scope="row">H<td>hour in day (0-23) <td>Number<td>0<td>1+</td><tr><th scope="row">k<td>Hour in day (1-24) <td>Number<tdtd >24<td>1+</td><tr><th scope="row">K<td>am/pm (0-11) <td>Number<td>0<td>1+</td><tr><th scope="row">h<td>am/pm (1-12) <td>Number<td>12<td>1+</td><tr><th scope="row">m<td>Minute in hour <td>Number<td>30<td>1+</td><tr><th scope="row">s<td>Second in minute <td>Number<td>55<td>1+</td><tr><th scope="row">S<td>Millisecond <td>Number<td>978<td>+</td><tr><th scope="row">z<td>Time zone <td>General タイム ゾーン<td>Pacific Standard Time; PST; GMT-08:00<td>1+</td><tr><th scope="row">Z<td>Time zone <td>RFC 822 タイム ゾーン<td>-0800<td></td><tr><th scope="row">X<td>Time zone <td>ISO 8601 タイム ゾーン<td>-08; -0800; -08:00<td>24+</td></tbody></table></blockquote> パターン文字は繰り返されます。 その数によって正確な表示が決まります:<ul><li><strong>"text">Text:</strong> 書式の場合、パターン文字の数が 4 以上の場合は完全なフォームが使用されます。それ以外の場合は、短いフォームまたは省略形が使用されます。 解析では、パターン文字の数に関係なく、両方のフォームが受け入れられます。</li><li><strong>"number">Number:</strong> 書式設定の場合、パターン文字の数は最小桁数であり、短い数値はこの量に埋め込まれます。 解析の場合、隣接する 2 つのフィールドを区切る必要がない限り、パターン文字の数は無視されます。</li><li><strong>"year">Year:</strong> フォーマッタの #getCalendar() Calendar がグレゴリオ暦の場合は、次の規則が適用されます。
<ul><li>書式を設定する場合、パターン文字の数が 2 の場合、年は 2 桁に切り捨てられます。それ以外の場合は数値として解釈されます。
<li>解析の場合、パターン文字の数が 2 を超える場合、年は桁数に関係なくリテラルで解釈されます。 そのため、"MM/dd/yyyy" というパターンを使用すると、"01/11/12" が A.D. 12 年 1 月 11 日に解析 <li>省略された年パターン ("y" または "yy") を使用して解析する場合、 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 桁の正確な 2 桁の文字列のみが、既定の世紀に解析されます。 1 桁の文字列、3 つ以上の数字文字列、すべての数字ではない 2 桁の文字列 ("-1" など) など、その他の数値文字列は、リテラルで解釈されます。 そのため、"01/02/3" または "01/02/003" は、AD 1 月 2 日、3 日と同じパターンを使用して解析されます。 同様に、"01/02/-3" は BC 4 年 1 月 2 日として解析されます。
</ul> それ以外の場合は、カレンダー システム固有のフォームが適用されます。 書式設定と解析の両方で、パターン文字の数が 4 以上の場合は、カレンダー固有の Calendar#LONG 長いフォームが使用されます。 それ以外の場合は、予定表固有の Calendar#SHORT または省略形が使用されます。
<br> 週の年 'Y' が指定されていて、#getCalendar() カレンダーが週の年をサポートしていない場合は、代わりに暦年 ('y') が使用されます。 週年のサポートは、 DateFormat#getCalendar() getCalendar().java.util.Calendar#isWeekDateSupported() isWeekDateSupported().< への呼び出しでテストできます/li><li><strong>"month">Month:</strong> パターン文字の数が 3 以上の場合、月はテキストとして解釈されます。それ以外の場合は、数値として解釈されます。
<ul><li>Letter <em>M</em> は、埋め込み形式の名前など、状況依存の月の名前を生成します。 レター <em>M</em> は、スタンドアロン パターン ("MMMM" など) で使用される場合は、月名のスタンドアロン形式を与え、他のフィールド ("d MMMM" など) を含むパターンで使用される場合は、月名の書式を指定するという意味で状況依存です。 たとえば、カタロニア語の 1 月は形式が "de gener" で、スタンドアロン形式では "gener" です。 この場合、"MMMM" は "gener" を生成し、"d MMMM" の月の部分は "de gener" を生成します。 コンストラクター DateFormatSymbolsまたはメソッド #SimpleDateFormat(String,DateFormatSymbols)で#setDateFormatSymbols(DateFormatSymbols)が明示的に設定されている場合、DateFormatSymbolsによって指定された月の名前が使用されます</li><li>Letter <em>L</em> は、月名のスタンドアロン形式を生成します</li></ul><br></li><li><strong>"timezone">General time zone:</strong> タイム ゾーンは、名前がある場合はテキストとして解釈されます。 GMT オフセット値を表すタイム ゾーンでは、次の構文が使用されます。
<a id="GMTOffsetTimeZone"><i>GMTOffsetTimeZone:</i></a>
{@code GMT} <i>Sign</i> <i>Hours</i> {@code :} <i>Minutes</i>
<i>Sign:</i> one of
{@code + -}
<i>Hours:</i>
<i>Digit</i>
<i>Digit</i> <i>Digit</i>
<i>Minutes:</i>
<i>Digit</i> <i>Digit</i>
<i>Digit:</i> one of
{@code 0 1 2 3 4 5 6 7 8 9}
時間 は 0 から 23 の間で、 Minutes は 00 から 59 の間である必要があります。 形式はロケールに依存せず、数字は Unicode 標準の Basic Latin ブロックから取得する必要があります。
解析の場合、RFC 822 タイム ゾーンも受け入れられます。</li><li><strong>"rfc822timezone">RFC 822 time zone:</strong> 書式設定には、RFC 822 4 桁のタイム ゾーン形式が使用されます。
<i>RFC822TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
<i>TwoDigitHours:</i>
<i>Digit Digit</i>
TwoDigitHours は 00 から 23 の間である必要があります。 その他の定義は、一般的なタイム ゾーンと同様です。
解析の場合、一般的なタイム ゾーンも受け入れられます。 <li><strong>"iso8601timezone">ISO 8601 Time zone:</strong> パターン文字の数は、書式設定と解析の両方の形式を次のように指定します。
<i>ISO8601TimeZone:</i>
<i>OneLetterISO8601TimeZone</i>
<i>TwoLetterISO8601TimeZone</i>
<i>ThreeLetterISO8601TimeZone</i>
<i>OneLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i>
{@code Z}
<i>TwoLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
{@code Z}
<i>ThreeLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> {@code :} <i>Minutes</i>
{@code Z}
その他の定義は、一般的なタイム ゾーンまたは RFC 822 タイム ゾーンと同様です。
書式設定の場合、GMT からのオフセット値が 0 の場合、 "Z" が生成されます。 パターン文字の数が 1 の場合、1 時間の任意の分数は無視されます。 たとえば、パターンが "X" され、タイム ゾーンが "GMT+05:30"されている場合、 "+05" が生成されます。
解析の場合、文字 "Z" は UTC タイム ゾーン指定子として解析されます (したがって、 "09:30Z" は "09:30 UTC"として解析されます。 一般的なタイム ゾーンは <em>not</em> 受け入れられます。
"X"パターン文字の数が 4 以上の場合 (例: XXXX)、パターンを適用するIllegalArgumentExceptionまたは #applyPattern(String) を構築するときにSimpleDateFormatがスローされます。
</ul>SimpleDateFormat では、 <em>割り当てられた日時パターン</em> 文字列もサポートされます。 これらの文字列では、上記のパターン文字を他のロケールに依存するパターン文字に置き換えることができます。
SimpleDateFormat は、パターン文字以外のテキストのローカライズを処理しません。これは、クラスのクライアントに応じられます。
<h3>Examples</h3>
次の例は、米国のロケールで日付と時刻のパターンがどのように解釈されるかを示しています。 指定された日時は、米国太平洋タイム ゾーンの 2001-07-04 12:08:56 現地時刻です。
<blockquote><table class="striped"><caption style="display:none">米国で解釈される日時パターンのサンプル。 locale</caption><thead><tr><th scope="col" style="text-align:left">Date and Time Pattern <th scope="col" style="text-align:left">Result </thead><tbody><tr><th scope="row">"yyyy.MM.dd G 'at' HH:mm:ss z"<td>2001.07.04 AD at 12:08:56 PDT<tr><th scope="row">"EEE, MMM d, ''yy"<td>Wed, Jul 4, '01<tr><th scope="row">"h:mm a"<td>12:08 PM<tr><th scope="row">"hh 'o''clock' a, zzzz"<td>12 o'clock PM, Pacific Daylight Time<tr><th scope="row">"K:mm a, z"<td>0:08 PM, PDT<tr><th scope="row">"yyyyy.MMMMM.dd GGG hh:mm aaa"<td>02001.July.04 AD 12:08 PM<tr><th scope="row">"EEE, d MMM yyyy HH:mm:ss Z"<td>Wed, 4 Jul 2001 12:08:56 -0700<tr><th scope="row">"yyMMddHHmmssZ"<td>010704120856-0700<tr><th scope="row">"yyyy-MM-dd'T'HH:mm:ss.SSSZ"<td>2001-07-04T12:08:56.235-0700<tr><th scope="row">"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"<td>2001-07-04T12:08:56.235-07:00<tr><th scope="row">"YYYY-'W'ww-u"<td>2001-W27-3</tbody></table></blockquote>
<h3>"synchronization">Synchronization</h3>
日付形式は同期されません。 スレッドごとに個別のフォーマット インスタンスを作成することをお勧めします。 複数のスレッドが同時に形式にアクセスする場合は、外部で同期する必要があります。
1.1 で追加されました。
java.text.SimpleDateFormatの Java ドキュメント。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。
コンストラクター
| 名前 | 説明 |
|---|---|
| SimpleDateFormat() |
既定の |
| SimpleDateFormat(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
| SimpleDateFormat(String, DateFormatSymbols) |
指定されたパターンと日付形式のシンボルを使用して |
| SimpleDateFormat(String, Locale) |
指定されたパターンと、指定されたロケールの既定の日付書式記号を使用して、 |
| SimpleDateFormat(String) |
指定されたパターンと既定の |
フィールド
| 名前 | 説明 |
|---|---|
| AmPmField |
フィールドの配置AM_PM便利な定数です。 (継承元 DateFormat) |
| DateField |
DATE フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| DayOfWeekField |
フィールドの配置DAY_OF_WEEK便利な定数です。 (継承元 DateFormat) |
| DayOfWeekInMonthField |
フィールドの配置DAY_OF_WEEK_IN_MONTH便利な定数です。 (継承元 DateFormat) |
| DayOfYearField |
フィールドの配置DAY_OF_YEAR便利な定数です。 (継承元 DateFormat) |
| Default |
既定のスタイル パターンの定数。 (継承元 DateFormat) |
| EraField |
ERA フィールドの配置に役立つ定数。 (継承元 DateFormat) |
| Full |
完全なスタイル パターンの定数。 (継承元 DateFormat) |
| Hour0Field |
0 から始まる HOUR フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| Hour1Field |
1 から始まる HOUR フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| HourOfDay0Field |
0 から始まるHOUR_OF_DAYフィールドの配置に便利な定数です。 (継承元 DateFormat) |
| HourOfDay1Field |
1 から始まるHOUR_OF_DAYフィールドの配置に便利な定数です。 (継承元 DateFormat) |
| Long |
長いスタイル パターンの定数。 (継承元 DateFormat) |
| Medium |
中のスタイル パターンの定数。 (継承元 DateFormat) |
| MillisecondField |
MILLISECOND フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| MinuteField |
MINUTE フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| MonthField |
MONTH フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| SecondField |
SECOND フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| Short |
短いスタイル パターンの定数。 (継承元 DateFormat) |
| TimezoneField |
TIMEZONE フィールドの配置に便利な定数です。 (継承元 DateFormat) |
| WeekOfMonthField |
フィールドの配置WEEK_OF_MONTH便利な定数です。 (継承元 DateFormat) |
| WeekOfYearField |
フィールドの配置WEEK_OF_YEAR便利な定数です。 (継承元 DateFormat) |
| YearField |
YEAR フィールドの配置に便利な定数です。 (継承元 DateFormat) |
プロパティ
| 名前 | 説明 |
|---|---|
| Calendar |
この日付/時刻フォーマッタに関連付けられている予定表を取得します。 または、この日付形式で使用するカレンダーを設定します。 (継承元 DateFormat) |
| Class |
この |
| DateFormatSymbols |
この日付形式の日付と時刻の書式記号のコピーを取得します。 または、この日付形式の日付と時刻の書式記号を設定します。 |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| Lenient |
日付/時刻の解析が緩いかどうかを示します。 または、日付/時刻の解析を実行するかどうかを指定します。 (継承元 DateFormat) |
| NumberFormat |
この日付/時刻フォーマッタが時刻の書式設定と解析に使用する数値フォーマッタを取得します。 または、数値フォーマッタを設定できます。 (継承元 DateFormat) |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| TimeZone |
タイム ゾーンを取得します。 または、この |
メソッド
| 名前 | 説明 |
|---|---|
| ApplyLocalizedPattern(String) |
指定されたローカライズされたパターン文字列をこの日付形式に適用します。 |
| ApplyPattern(String) |
指定されたパターン文字列をこの日付形式に適用します。 |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| Format(Date, StringBuffer, FieldPosition) |
指定した |
| Format(Date) |
|
| Format(Object, StringBuffer, FieldPosition) |
指定した |
| Format(Object) |
文字列を生成するオブジェクトを書式設定します。 (継承元 _Format) |
| FormatToCharacterIterator(Object) |
|
| Get2DigitYearStart() |
100 年の期間の開始日を返します。2 桁の年は、内にあると解釈されます。 |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| Parse(String, ParsePosition) |
文字列からテキストを解析して、 |
| Parse(String) |
指定した文字列の先頭からテキストを解析して、日付を生成します。 (継承元 DateFormat) |
| ParseObject(String, ParsePosition) |
文字列からテキストを解析して、 |
| ParseObject(String) |
指定された文字列の先頭からテキストを解析して、オブジェクトを生成します。 (継承元 _Format) |
| Set2DigitYearStart(Date) |
100 年の期間を設定します。2 桁の年は、ユーザーが指定した日付に開始されると解釈されます。 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToLocalizedPattern() |
この日付形式を記述するローカライズされたパターン文字列を返します。 |
| ToPattern() |
この日付形式を記述するパターン文字列を返します。 |
| ToString() |
オブジェクトの文字列表現を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|