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>日付と時刻の<パターン/h2>
日付と時刻の形式は、em>日付と時刻のパターン</em> 文字列で<指定されます。 日付と時刻のパターン文字列内では、間の引用符で囲まれていない文字 'A'
'Z'
'a'
'z'
は、日付または時刻の文字列の構成要素を表すパターン文字として解釈されます。 解釈を避けるために、テキストは単一引用符 ('
) を使用して引用符で囲むことができます。 "''"
は単一引用符を表します。 他のすべての文字は解釈されません。これらは、書式設定中に出力文字列にコピーされるか、解析中に入力文字列と照合されます。
次のパターン文字が定義されています (その他のすべての文字'A'
'a'
'z'
'Z'
は予約済みです)。<blockquote<>table class="striped"<>caption style="display:none">Chart shows pattern letters, date/time component, presentation, and examples.</caption>thead><tr><th scope="col" style="text-align:left">Letter <th scope="col" style="text-align:left">Date or 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
<td>Era<designator <td>Text<td>AD
<td>1+</td><tr><th scope="row"><y
td>Year <td>Year<td;<96
>1996
td>1+</td><tr<>th scope="row"><Y
td>Week year <td>Year<td;<09
>2009
td>24+</td><tr><th scope="row">M
<td>Month in year (context sensitive) <td>Month<td; Jul
<07
>July
td>1+</td<>tr<>th scope="row">L
<td>Month in year (スタンドアロン フォーム) <td>Month<td; Jul
<07
>July
td>TBD</td><tr><th scope="row"><w
td>Week in year <td>Number<td td27
><td td>1+</td><tr><th scope="row"W
><td>Week in month <td>Number<td td2
><td>1+</td<>tr><th scope="row"><D
td>Day in year <td>Number<td>189
<td>1+</td<>tr><th scope="row"<d
>td>Day in month <td>Number<td td<>10
td>1+</td><tr><th scope="row"><F
td>Day of week in month <td>Number<td td2
<>td>1+</td<>tr<>th scope="row">E
<td>Day name in week <td>Text text<td;>Tuesday
Tue
<td>1+</td><tr><th scope="row"<>u
td>Day number of week (1 = Monday, ..., 7 = Sunday) <td>Number<td<>1
td td>24+</td<>tr><th scope="row"<>a
td>Am/pm marker <td>Text<td<>PM
td td>1+</td><tr<>th scope="row"H
><td>Hour in day (0-23) td Number td<>0
td td>1+</td<>tr<>th scope="row"><k
td>Hour in day (1-24) <td>Number<td><24
td td td>1+</td><tr><th scope="row"><K
td>Hour in am/pm (0-11) <td>Number<td td td>><0
1+</td><tr<>th scope=<><"row">h
<td>Hour in am/pm (1-12) <td>Number<td>12
<td td>1+</td<>tr><th scope="row"><m
td>Minute in hour <td>Number<td td30
<>td>1+</td><tr><th scope="row"><s
td>Second in minute <td>Number<td td>55
<>1+</td><tr><th scope="row"><S
td>Millisecond <td>Number<td td978
><td>1+</td<>tr><th scope="row"z
><td>Time zone <td>General time zone<td; GMT-08:00
<PST
>Pacific Standard Time
td>1+</td<>tr<>th scope="row"Z
<>td>Time zone <td>RFC 822 time zone<td td td><>-0800
1+</td><tr><th scope="row"<>X
td>Time zone <td>ISO 8601 time zone<td; -0800
<-08:00
>-08
td>24+</td<>/tbody></table<>/blockquote> パターン文字は通常繰り返されます。その数値によって正確な表現<が決まるので、ul<>li><strong>"text">Text:</strong> 書式設定の場合、パターン文字の数が 4 以上の場合は完全なフォームが使用されます。それ以外の場合は、短い形式または省略形が使用されます。 解析の場合、パターン文字の数に関係なく、両方のフォームが受け入れられます。</li li>><<strong>"number">Number:</strong> 書式設定の場合、パターン文字の数は最小桁数であり、短い数値はこの量にゼロで埋め込まれます。 解析の場合、隣接する 2 つのフィールドを区切る必要がない限り、パターン文字の数は無視されます。</li li><strong>><"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
を使用して解析する場合は、省略された年をある世紀に対して解釈する必要があります。 これは、インスタンスが作成される 80 年前と 20 年後の日付を SimpleDateFormat
調整することによって行われます。 たとえば、"MM/dd/yy" のパターンと SimpleDateFormat
1997 年 1 月 1 日に作成されたインスタンスを使用すると、文字列 "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:></strong> パターン文字の数が 3 以上の場合、月はテキストとして解釈されます。それ以外の場合は、数値として解釈されます。 <ul><li>Letter <em>M</em> は、埋め込み形式の名前など、状況依存の月名を生成します。 Letter <em>M</em> は、スタンドアロン パターン ("MMMM" など) で使用される場合は、月名のスタンドアロン形式を提供し、他のフィールド ("d MMMM" など) を含むパターンで使用すると、月名の形式を指定するという意味で状況依存です。 たとえば、カタロニア語の 1 月は形式が "de gener" で、スタンドアロン形式では "gener" です。 この場合、"MMMM" は "gener" を生成し、"d MMMM" の月の部分は "de gener" を生成します。 コンストラクター#SimpleDateFormat(String,DateFormatSymbols)
またはメソッド#setDateFormatSymbols(DateFormatSymbols)
で明示的DateFormatSymbols
に a が設定されている場合は、指定されたDateFormatSymbols
月の名前が使用されます。</li li><>Letter <em>L</em> は、月名のスタンドアロン形式を生成します。</li></ul><br></li li<>strong>><"timezone">General time zone:</strong> Time zones are interpreted as text if they have names. 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 の間で、 分 は 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>。
パターン文字の数が 4 以上の "X"
場合 (例: XXXX
) IllegalArgumentException
、パターンを適用する SimpleDateFormat
#applyPattern(String) を構築するときにスローされます。 </ul>SimpleDateFormat
では、ローカライズ>された日付と時刻のパターン</em> 文字列もサポートされています<。 これらの文字列では、上記のパターン文字を他のロケールに依存するパターン文字に置き換えることができます。 SimpleDateFormat
は、パターン文字以外のテキストのローカライズを処理しません。これは、クラスのクライアントに応じられます。
<h3>例</h3>
次の例は、米国のロケールで日付と時刻のパターンがどのように解釈されるかを示しています。 指定された日時は、米国太平洋タイム ゾーンの 2001-07-04 12:08:56 現地時刻です。 <blockquote><table class="striped"><caption style="display:none">Examples of date and time patterns interpreted in><< 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 ドキュメントjava.text.SimpleDateFormat
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
SimpleDateFormat() |
既定の |
SimpleDateFormat(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
SimpleDateFormat(String) |
指定された |
SimpleDateFormat(String, DateFormatSymbols) |
指定された |
SimpleDateFormat(String, Locale) |
指定された |
フィールド
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 |
|
JniPeerMembers |
|
Lenient |
日付/時刻の解析が緩いかどうかを示します。 または、日付/時刻の解析を実行するかどうかを指定します。 (継承元 DateFormat) |
NumberFormat |
この日付/時刻フォーマッタが時刻の書式設定と解析に使用する数値フォーマッタを取得します。 または、数値フォーマッタを設定できます。 (継承元 DateFormat) |
PeerReference |
|
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
TimeZone |
タイム ゾーンを取得します。 または、この |
メソッド
ApplyLocalizedPattern(String) |
指定されたローカライズされたパターン文字列をこの日付形式に適用します。 |
ApplyPattern(String) |
指定されたパターン文字列をこの日付形式に適用します。 |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 _Format) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
Format(Date) |
日付/時刻文字列に書式を |
Format(Date, StringBuffer, FieldPosition) |
指定 |
Format(Object) |
文字列を生成するオブジェクトを書式設定します。 (継承元 _Format) |
Format(Object, StringBuffer, FieldPosition) |
指定 |
FormatToCharacterIterator(Object) |
を生成するオブジェクトの書式を設定 |
Get2DigitYearStart() |
100 年の期間の開始日を返します。2 桁の年は、内にあると解釈されます。 |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
Parse(String) |
指定した文字列の先頭からテキストを解析して、日付を生成します。 (継承元 DateFormat) |
Parse(String, ParsePosition) |
文字列からテキストを解析し、 |
ParseObject(String) |
指定された文字列の先頭からテキストを解析して、オブジェクトを生成します。 (継承元 _Format) |
ParseObject(String, ParsePosition) |
文字列からテキストを解析し、 |
Set2DigitYearStart(Date) |
100 年の期間を設定します。2 桁の年は、ユーザーが指定した日付に開始されると解釈されます。 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
ToArray<T>() |
|
ToLocalizedPattern() |
この日付形式を記述するローカライズされたパターン文字列を返します。 |
ToPattern() |
この日付形式を記述するパターン文字列を返します。 |
ToString() |
オブジェクトの文字列表現を返します。 (継承元 Object) |
UnregisterFromRuntime() |
|
Wait() |
現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|