DateTimeOffset.Parse メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した文字列形式の日付と時刻を等価の DateTimeOffset の値に変換します。
オーバーロード
Parse(String) |
指定した文字列形式の日付、時刻、およびオフセットを等価の DateTimeOffset の値に変換します。 |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
文字のスパンを値に解析します。 |
Parse(String, IFormatProvider) |
指定したカルチャ固有の書式情報を使用して、指定した日付と時刻の文字列形式を等価の DateTimeOffset の値に変換します。 |
Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) |
指定したカルチャ固有の書式情報と書式スタイルを使用して、指定した日付と時刻のスパン表現を等価の DateTimeOffset に変換します。 |
Parse(String, IFormatProvider, DateTimeStyles) |
指定したカルチャ固有の書式情報と書式スタイルを使用して、指定した日付と時刻の文字列形式を等価の DateTimeOffset の値に変換します。 |
注釈
重要
和暦の時代 (年号) は天皇の代に基づいているため、変更されることが予想されます。 たとえば、JapaneseCalendar と JapaneseLunisolarCalendar において、2019 年 5 月 1 日から令和時代が始まることになりました。 このような時代 (年号) の変更は、これらのカレンダーを使用するすべてのアプリケーションに影響します。 詳細と、アプリケーションが影響を受けるかどうかを判断するには、「 .NET での日本語カレンダーでの新しい時代の処理」を参照してください。 Windows システムでアプリケーションをテストして時代 (年号) の変更に対する準備を確認する方法については、「 日本の時代 (年号) に合わせてアプリケーションを準備する」を参照してください。 複数の時代 (年号) を含むカレンダーをサポートする .NET の機能と、複数の時代 (年号) をサポートするカレンダーを操作する場合のベスト プラクティスについては、「 年号の操作」を参照してください。
Parse(String)
指定した文字列形式の日付、時刻、およびオフセットを等価の DateTimeOffset の値に変換します。
public:
static DateTimeOffset Parse(System::String ^ input);
public static DateTimeOffset Parse (string input);
static member Parse : string -> DateTimeOffset
Public Shared Function Parse (input As String) As DateTimeOffset
パラメーター
- input
- String
変換する日時を含む文字列。
戻り値
input
に含まれる日時と等価のオブジェクト。
例外
オフセットが -14 時間より小さいか、14 時間を超えています。
input
が null
です。
例
次の例では、 メソッドを Parse(String) 呼び出して、いくつかの日付と時刻の文字列を解析します。 この例には、カルチャが en-us であるシステムでの 2007 年 3 月 22 日の出力が含まれています。
string dateString;
DateTimeOffset offsetDate;
// String with date only
dateString = "05/01/2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with time only
dateString = "11:36 PM";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with date and offset
dateString = "05/01/2008 +1:00";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with day abbreviation
dateString = "Thu May 01, 2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with date only
let dateString = "05/01/2008"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"
// String with time only
let dateString = "11:36 PM"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"
// String with date and offset
let dateString = "05/01/2008 +1:00"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"
// String with day abbreviation
let dateString = "Thu May 01, 2008"
let offsetDate = DateTimeOffset.Parse(dateString)
printfn $"{offsetDate}"
Dim dateString As String
Dim offsetDate As DateTimeOffset
' String with date only
dateString = "05/01/2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 12:00:00 AM -07:00
' String with time only
dateString = "11:36 PM"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 3/26/2007 11:36:00 PM -07:00
' String with date and offset
dateString = "05/01/2008 +7:00"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 12:00:00 AM +07:00
' String with day abbreviation
dateString = "Thu May 01, 2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 12:00:00 AM -07:00
注釈
Parse(String) は、任意の順序で表示でき、空白で区切られた 3 つの要素を含む文字列を解析します。 これら 3 つの要素を次の表に示します。
要素 | 例 |
---|---|
<Date> | "2/10/2007" |
<Time> | "午後 1:02:03" |
<Offset> | "-7:30" |
これらの各要素は省略可能ですが、 <Offset> は単独では表示できません。 日付>または<時刻>と<共に指定する必要があります。 Date> が指定されていない場合<、既定値は現在の日付です。 Time> がない場合<、既定値は午前 12:00:00 です。 Date> が存在するが、その year コンポーネントが 2 桁の数字のみで構成されている場合<、プロパティの値に基づいて、現在のカルチャの現在のカレンダーの年にCalendar.TwoDigitYearMax変換されます。 Offset> が見つからない場合<、既定値はローカル タイム ゾーンのオフセットです。 <オフセット> は、協定世界時 (UTC) からの負のオフセットまたは正のオフセットを表すことができます。 どちらの場合も、 <オフセット> には記号記号を含める必要があります。
文字列は input
、現在のカルチャ用に初期化されたオブジェクトの DateTimeFormatInfo 書式設定情報を使用して解析されます。 現在のカルチャの書式設定に必ずしも対応していない指定された書式を含む文字列を解析するには、 メソッドを ParseExact 使用して書式指定子を指定します。
こちらもご覧ください
適用対象
Parse(ReadOnlySpan<Char>, IFormatProvider)
文字のスパンを値に解析します。
public:
static DateTimeOffset Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As DateTimeOffset
パラメーター
- s
- ReadOnlySpan<Char>
解析する文字のスパン。
- provider
- IFormatProvider
s
に関するカルチャ固有の書式情報を提供するオブジェクト。
戻り値
を解析した s
結果。
実装
適用対象
Parse(String, IFormatProvider)
指定したカルチャ固有の書式情報を使用して、指定した日付と時刻の文字列形式を等価の DateTimeOffset の値に変換します。
public:
static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public:
static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider) = IParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse (string input, IFormatProvider formatProvider);
public static DateTimeOffset Parse (string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As DateTimeOffset
パラメーター
- input
- String
変換する日時を含む文字列。
- formatProvider
- IFormatProvider
input
に関するカルチャ固有の書式情報を提供するオブジェクト。
戻り値
formatProvider
で指定された書式に従って表記された、input
に含まれる日時と等価のオブジェクト。
実装
例外
オフセットが -14 時間より小さいか、14 時間を超えています。
input
が null
です。
例
次の例では、fr-fr カルチャ用に書式設定された日付と時刻の文字列を解析し、ローカル システムの既定の en-us カルチャを使用して表示します。
DateTimeFormatInfo fmt = new CultureInfo("fr-fr").DateTimeFormat;
string dateString;
DateTimeOffset offsetDate;
dateString = "03-12-07";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
dateString,
offsetDate.ToString());
dateString = "15/09/07 08:45:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
dateString,
offsetDate.ToString());
dateString = "mar. 1 janvier 2008 1:00:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
dateString,
offsetDate.ToString());
// The example displays the following output to the console:
// 03-12-07 returns 12/3/2007 12:00:00 AM -08:00
// 15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
// mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
let fmt = CultureInfo("fr-fr").DateTimeFormat
let dateString = "03-12-07"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"
let dateString = "15/09/07 08:45:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"
let dateString = "mar. 1 janvier 2008 1:00:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"
// The example displays the following output to the console:
// 03-12-07 returns 12/3/2007 12:00:00 AM -08:00
// 15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
// mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
Dim fmt As DateTimeFormatInfo = New CultureInfo("fr-fr").DateTimeFormat
Dim dateString As String
Dim offsetDate As DateTimeOffset
dateString = "03-12-07"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
dateString, _
offsetDate.ToString())
dateString = "15/09/07 08:45:00 +1:00"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
dateString, _
offsetDate.ToString())
dateString = "mar. 1 janvier 2008 1:00:00 +1:00"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
dateString, _
offsetDate.ToString())
' The example displays the following output to the console:
' 03-12-07 returns 12/3/2007 12:00:00 AM -08:00
' 15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
' mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
注釈
このメソッドは、任意の順序で表示でき、空白で区切られた 3 つの要素を含む文字列を解析します。 これらの 3 つの要素を次の表に示します。
要素 | 例 |
---|---|
<Date> | "2/10/2007" |
<Time> | "午後 1:02:03" |
<Offset> | "-7:30" |
これらの各要素は省略可能ですが、 <Offset> は単独では表示できません。 日付>または<時刻>と<共に指定する必要があります。 Date> が指定されていない場合<、既定値は現在の日付です。 Date> が存在するが、その year コンポーネントが 2 桁の数字のみで構成されている場合<、プロパティの値に基づいて、パラメーターの現在のカレンダーのprovider
年にCalendar.TwoDigitYearMax変換されます。 Time> がない場合<、既定値は午前 12:00:00 です。 Offset> が見つからない場合<、既定値はローカル タイム ゾーンのオフセットです。
<オフセット> は、協定世界時 (UTC) からの負のオフセットまたは正のオフセットを表すことができます。 どちらの場合も、 <オフセット> には記号記号を含める必要があります。
これら 3 つの要素の形式は、 パラメーターによって formatProvider
定義されます。これは、次のいずれかになります。
CultureInfoパラメーターで書式設定が使用
input
されるカルチャを表す オブジェクト。 プロパティによってCultureInfo.DateTimeFormat返される オブジェクトはDateTimeFormatInfo、 でinput
使用される書式を定義します。DateTimeFormatInfo日付と時刻のデータの形式を定義する オブジェクト。
が null
の場合formatprovider
は、CultureInfo現在のカルチャに対応する オブジェクトが使用されます。
Offset> で<使用される正符号または負符号は、 + または - である必要があります。 パラメーターの オブジェクトformatProvider
または PositiveSignNegativeSign プロパティNumberFormatInfoでは定義されません。
こちらもご覧ください
適用対象
Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)
指定したカルチャ固有の書式情報と書式スタイルを使用して、指定した日付と時刻のスパン表現を等価の DateTimeOffset に変換します。
public static DateTimeOffset Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
public static DateTimeOffset Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
static member Parse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing, Optional styles As DateTimeStyles = System.Globalization.DateTimeStyles.None) As DateTimeOffset
パラメーター
- input
- ReadOnlySpan<Char>
変換する日付と時刻を表す文字を含むスパン。
- formatProvider
- IFormatProvider
input
に関するカルチャ固有の書式情報を提供するオブジェクト。
- styles
- DateTimeStyles
input
で使用可能な書式を示す、列挙値のビットごとの組み合わせ。 通常指定する値は、None です。
戻り値
formatProvider
と styles
で指定された input
に格納される日時と等価のオブジェクト。
適用対象
Parse(String, IFormatProvider, DateTimeStyles)
指定したカルチャ固有の書式情報と書式スタイルを使用して、指定した日付と時刻の文字列形式を等価の DateTimeOffset の値に変換します。
public:
static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles);
public static DateTimeOffset Parse (string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles);
public static DateTimeOffset Parse (string input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles);
static member Parse : string * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider, styles As DateTimeStyles) As DateTimeOffset
パラメーター
- input
- String
変換する日時を含む文字列。
- formatProvider
- IFormatProvider
input
に関するカルチャ固有の書式情報を提供するオブジェクト。
- styles
- DateTimeStyles
input
で使用可能な書式を示す、列挙値のビットごとの組み合わせ。 通常指定する値は、None です。
戻り値
formatProvider
と styles
で指定された input
に格納される日時と等価のオブジェクト。
例外
オフセットが -14 時間より小さいか、14 時間を超えています。
- または -
styles
は有効な DateTimeStyles 値ではありません。
- または -
サポートされていない DateTimeStyles 値が styles
に含まれています。
- または -
同時に使用できない DateTimeStyles 値が styles
に含まれています。
input
が null
です。
例
次の例は、 メソッドの パラメーターに DateTimeStyles.AssumeLocal、、および DateTimeStyles.AdjustToUniversal の値をstyles
渡す効果をParse(String, IFormatProvider, DateTimeStyles)DateTimeStyles.AssumeUniversal示しています。
string dateString;
DateTimeOffset offsetDate;
dateString = "05/01/2008 6:00:00";
// Assume time is local
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal);
Console.WriteLine(offsetDate.ToString()); // Displays 5/1/2008 6:00:00 AM -07:00
// Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal);
Console.WriteLine(offsetDate.ToString()); // Displays 5/1/2008 6:00:00 AM +00:00
// Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00";
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal);
Console.WriteLine(offsetDate.ToString()); // Displays 5/1/2008 1:00:00 AM +00:00
let dateString = "05/01/2008 6:00:00"
// Assume time is local
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal)
printfn $"{offsetDate}" // Displays 5/1/2008 6:00:00 AM -07:00
// Assume time is UTC
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal)
printfn $"{offsetDate}" // Displays 5/1/2008 6:00:00 AM +00:00
// Parse and convert to UTC
let dateString = "05/01/2008 6:00:00AM +5:00"
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal)
printfn $"{offsetDate}" // Displays 5/1/2008 1:00:00 AM +00:00
Dim dateString As String
Dim offsetDate As DateTimeOffset
dateString = "05/01/2008 6:00:00"
' Assume time is local
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AssumeLocal)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 6:00:00 AM -07:00
' Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AssumeUniversal)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 6:00:00 AM +00:00
' Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00"
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AdjustToUniversal)
Console.WriteLine(offsetDate.ToString()) ' Displays 5/1/2008 1:00:00 AM +00:00
注釈
このメソッドは、任意の順序で表示でき、空白で区切られた 3 つの要素を含む文字列を解析します。 これらの 3 つの要素を次の表に示します。
要素 | 例 |
---|---|
<Date> | "2/10/2007" |
<Time> | "午後 1:02:03" |
<Offset> | "-7:30" |
これらの各要素は省略可能ですが、 <Offset> は単独では表示できません。 日付>または<時刻>と<共に指定する必要があります。 Date> が指定されていない場合<、既定値は現在の日付です。 Date> が存在するが、その year コンポーネントが 2 桁の数字のみで構成されている場合<、プロパティの値に基づいて、パラメーターの現在のカレンダーのprovider
年にCalendar.TwoDigitYearMax変換されます。 Time> がない場合<、既定値は午前 12:00:00 です。 Offset が指定されていない場合<、既定値はローカル タイム ゾーンのオフセット、または TimeSpan.Zero パラメーターに または DateTimeStyles.AssumeUniversal 値がDateTimeStyles.AdjustToUniversal指定されている場合ですstyles
。> Offset> が存在する場合<は、協定世界時 (UTC) からの負または正のオフセットを表すことができます。 どちらの場合も、 <オフセット> には記号記号を含める必要があります。
これら 3 つの要素の形式は、 パラメーターによって formatProvider
定義されます。これは、次のいずれかになります。
CultureInfoパラメーターで書式設定が使用
input
されるカルチャを表す オブジェクト。 プロパティによってCultureInfo.DateTimeFormat返される オブジェクトはDateTimeFormatInfo、 でinput
使用される書式を定義します。DateTimeFormatInfo日付と時刻のデータの形式を定義する オブジェクト。
各要素は先頭または末尾の空白で囲むこともできます。また、 <Date> 要素と <Time> 要素には内部空白 (6: 00:00 など) を含めることができます。 内部空白を <含めることはできませんのは、Offset> コンポーネントだけです。
が null
の場合formatprovider
は、CultureInfo現在のカルチャに対応する オブジェクトが使用されます。
Offset> で<使用される正符号または負符号は、 + または - である必要があります。 パラメーターによってPositiveSign返される オブジェクトの NumberFormatInfo プロパティまたは NegativeSign プロパティではformatProvider
定義されません。
次の表は、サポートされている列挙体の System.Globalization.DateTimeStyles メンバーを示しています。
DateTimeStyles メンバー | 説明 |
---|---|
AdjustToUniversal | で表される input 文字列を解析し、必要に応じて UTC に変換します。 これは、文字列を解析してから、返されたDateTimeOffsetオブジェクトの メソッドをDateTimeOffset.ToUniversalTime呼び出すことと同じです。 |
AllowInnerWhite | 有効ですが、この値は無視されます。 内部空白は、日付>と<時刻>の<要素で使用できます。 |
AllowLeadingWhite | 有効ですが、この値は無視されます。 先頭の空白は、解析された文字列内の各コンポーネントの前で許可されます。 |
AllowTrailingWhite | 有効ですが、この値は無視されます。 末尾の空白は、解析された文字列内の各コンポーネントの前で許可されます。 |
AllowWhiteSpaces | これは既定の動作です。 などDateTimeStyles.None、より制限の厳DateTimeStylesしい列挙値を指定してオーバーライドすることはできません。 |
AssumeLocal | パラメーターに input Offset> 要素がない<場合は、ローカル タイム ゾーンのオフセットを指定する必要があることを示します。 これは、 メソッドの既定の Parse 動作です。 |
AssumeUniversal | パラメーターに input Offset> 要素がない<場合は、UTC オフセット (00:00) を指定する必要があることを示します。 |
None | 有効ですが、この値は無視され、影響はありません。 |
RoundtripKind | 構造体には DateTimeOffset プロパティが Kind 含まれていないため、この値は無効です。 |
DateTimeStyles.NoCurrentDateDefault値のみがサポートされていません。
ArgumentExceptionこの値が パラメーターに含まれている場合は、 styles
がスローされます。
こちらもご覧ください
適用対象
.NET