Sdílet prostřednictvím


DateTimeOffset.Parse Metoda

Definice

Převede zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent.

Přetížení

Parse(String)

Převede zadanou řetězcovou reprezentaci data, času a posunu na jeho DateTimeOffset ekvivalent.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Parsuje rozsah znaků na hodnotu.

Parse(String, IFormatProvider)

Převede zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent pomocí zadané informace o formátu specifické pro jazykovou verzi.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Převede zadanou reprezentaci rozsahu data a času na jeho DateTimeOffset ekvivalent s použitím informací o formátu a stylu formátování specifického pro konkrétní jazykovou verzi.

Parse(String, IFormatProvider, DateTimeStyles)

Převede zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent pomocí informací o formátu specifické pro konkrétní jazykovou verzi a stylu formátování.

Poznámky

Důležité

Éry v japonských kalendářích jsou založeny na vládě císaře, a proto se očekává, že se změní. Například 1. květen 2019 označil začátek éry Reiwa v JapaneseCalendar éře a JapaneseLunisolarCalendar. Taková změna éry ovlivní všechny aplikace, které tyto kalendáře používají. Další informace a informace o tom, jestli jsou vaše aplikace ovlivněné, najdete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows pro zajištění jejich připravenosti na změnu éry najdete v tématu Příprava aplikace na změnu japonské éry. Informace o funkcích v .NET, které podporují kalendáře s více érami, a osvědčené postupy při práci s kalendáři, které podporují více ér, najdete v tématu Práce s érami.

Parse(String)

Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs

Převede zadanou řetězcovou reprezentaci data, času a posunu na jeho DateTimeOffset ekvivalent.

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

Parametry

input
String

Řetězec, který obsahuje datum a čas k převedení.

Návraty

Objekt, který odpovídá datu a času obsaženému v objektu input.

Výjimky

Posun je větší než 14 hodin nebo menší než-14 hodin.

input je null.

input neobsahuje platnou řetězcovou reprezentaci data a času.

-nebo-

input obsahuje řetězcovou reprezentaci hodnoty posunu bez data nebo času.

Příklady

Následující příklad volá metodu Parse(String) k analýze několika řetězců data a času. Příklad obsahuje výstup z 22. března 2007 v systému, jehož jazyková verze je en-us.

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

Poznámky

Parse(String) Analyzuje řetězec se třemi prvky, které se můžou zobrazit v libovolném pořadí a jsou oddělené prázdnými znaky. Tyto tři prvky jsou znázorněny v následující tabulce.

Prvek Příklad
<Date> "10.02.2007"
<Čas> "1:02:03 odp."
<Posun> "-7:30"

I když je každý z těchto prvků volitelný, <odsazení> se nemůže zobrazit samo o sobě. Musí být k dispozici společně s datem> nebo <časem<>. Pokud <datum> chybí, jeho výchozí hodnotou je aktuální den. Pokud <chybí čas> , jeho výchozí hodnota je 0:00:00. Pokud <je datum> přítomné, ale jeho součást roku se skládá pouze ze dvou číslic, převede se na rok v aktuálním kalendáři aktuální jazykové verze na základě hodnoty Calendar.TwoDigitYearMax vlastnosti. Pokud <chybí posun> , jeho výchozí hodnota je posun místního časového pásma. <Posun> může představovat buď záporný, nebo kladný posun od koordinovaného univerzálního času (UTC). V obou případech <musí offset> obsahovat symbol znaménka.

Řetězec input se analyzuje pomocí informací o formátování v objektu DateTimeFormatInfo , který je inicializován pro aktuální jazykovou verzi. Chcete-li analyzovat řetězec, který obsahuje určené formátování, které nemusí nutně odpovídat formátování aktuální jazykové verze, použijte metodu ParseExact a zadejte specifikátor formátu.

Viz také

Platí pro

Parse(ReadOnlySpan<Char>, IFormatProvider)

Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs

Parsuje rozsah znaků na hodnotu.

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

Parametry

s
ReadOnlySpan<Char>

Rozsah znaků, které se mají analyzovat.

provider
IFormatProvider

Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi .s

Návraty

Výsledek analýzy s.

Implementuje

Platí pro

Parse(String, IFormatProvider)

Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs

Převede zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent pomocí zadané informace o formátu specifické pro jazykovou verzi.

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

Parametry

input
String

Řetězec, který obsahuje datum a čas k převedení.

formatProvider
IFormatProvider

Objekt, který poskytuje informace o formátu specifické pro jazykovou verzi .input

Návraty

Objekt, který odpovídá datu a času obsaženému v objektu , jak je uvedeno v inputformatProvider.

Implementuje

Výjimky

Posun je větší než 14 hodin nebo menší než-14 hodin.

input je null.

input neobsahuje platnou řetězcovou reprezentaci data a času.

-nebo-

input obsahuje řetězcovou reprezentaci hodnoty posunu bez data nebo času.

Příklady

Následující příklad analyzuje řetězce data a času formátované pro jazykovou verzi fr-fr a zobrazí je pomocí výchozí jazykové verze en-us místního systému.

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

Poznámky

Tato metoda parsuje řetězec se třemi prvky, které se můžou zobrazit v libovolném pořadí a jsou oddělené prázdnými znaky. Tyto tři prvky jsou uvedeny v následující tabulce.

Prvek Příklad
<Date> "10.02.2007"
<Čas> "1:02:03 odp."
<Posun> "-7:30"

I když je každý z těchto prvků volitelný, <odsazení> se nemůže zobrazit samo o sobě. Musí být k dispozici společně s datem> nebo <časem<>. Pokud <datum> chybí, jeho výchozí hodnotou je aktuální den. Pokud <je k dispozici datum> , ale jeho součást roku se skládá pouze ze dvou číslic, převede se na rok v provider aktuálním kalendáři parametru na základě hodnoty Calendar.TwoDigitYearMax vlastnosti. Pokud <chybí čas> , jeho výchozí hodnota je 0:00:00. Pokud <chybí posun> , jeho výchozí hodnota je posun místního časového pásma. <Posun> může představovat buď záporný, nebo kladný posun od koordinovaného univerzálního času (UTC). V obou případech <musí offset> obsahovat symbol znaménka.

Formát těchto tří prvků je definován parametrem formatProvider , který může být některý z následujících:

Pokud formatprovider je null, použije se CultureInfo objekt, který odpovídá aktuální jazykové verzi.

Kladné nebo záporné znaménko použité v <posunu> musí být + nebo -. Není definován vlastnostmi PositiveSign nebo NegativeSign objektu NumberFormatInfo parametru formatProvider .

Viz také

Platí pro

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs

Převede zadanou reprezentaci rozsahu data a času na jeho DateTimeOffset ekvivalent s použitím informací o formátu a stylu formátování specifického pro konkrétní jazykovou verzi.

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

Parametry

input
ReadOnlySpan<Char>

Rozsah obsahující znaky, které představují datum a čas, které se mají převést.

formatProvider
IFormatProvider

Objekt, který poskytuje informace o formátu specifické pro jazykovou verzi .input

styles
DateTimeStyles

Bitové kombinace hodnot výčtu, která označuje povolený formát souboru input. Typická hodnota, která se má zadat, je None.

Návraty

Objekt, který je ekvivalentní k datu a času, který je obsažen v input , jak je uvedeno formatProvider v a styles.

Platí pro

Parse(String, IFormatProvider, DateTimeStyles)

Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs

Převede zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent pomocí informací o formátu specifické pro konkrétní jazykovou verzi a stylu formátování.

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

Parametry

input
String

Řetězec, který obsahuje datum a čas k převedení.

formatProvider
IFormatProvider

Objekt, který poskytuje informace o formátu specifické pro jazykovou verzi .input

styles
DateTimeStyles

Bitové kombinace hodnot výčtu, která označuje povolený formát souboru input. Typická hodnota, která se má zadat, je None.

Návraty

Objekt, který je ekvivalentní k datu a času, který je obsažen v input , jak je uvedeno formatProvider v a styles.

Výjimky

Posun je větší než 14 hodin nebo menší než-14 hodin.

-nebo-

styles není platná DateTimeStyles hodnota.

-nebo-

styles obsahuje nepodporovanou DateTimeStyles hodnotu.

-nebo-

styles obsahuje DateTimeStyles hodnoty, které nelze použít společně.

input je null.

input neobsahuje platnou řetězcovou reprezentaci data a času.

-nebo-

input obsahuje řetězcovou reprezentaci hodnoty posunu bez data nebo času.

Příklady

Následující příklad znázorňuje účinek předání DateTimeStyles.AssumeLocalhodnot styles , DateTimeStyles.AssumeUniversala DateTimeStyles.AdjustToUniversal parametru Parse(String, IFormatProvider, DateTimeStyles) metody.

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

Poznámky

Tato metoda parsuje řetězec se třemi prvky, které se můžou zobrazit v libovolném pořadí a jsou oddělené prázdnými znaky. Tyto tři prvky jsou uvedeny v následující tabulce.

Prvek Příklad
<Date> "10.02.2007"
<Čas> "1:02:03 odp."
<Posun> "-7:30"

I když je každý z těchto prvků volitelný, <odsazení> se nemůže zobrazit samo o sobě. Musí být k dispozici společně s datem> nebo <časem<>. Pokud <datum> chybí, jeho výchozí hodnotou je aktuální den. Pokud <je k dispozici datum> , ale jeho součást roku se skládá pouze ze dvou číslic, převede se na rok v provider aktuálním kalendáři parametru na základě hodnoty Calendar.TwoDigitYearMax vlastnosti. Pokud <chybí čas> , jeho výchozí hodnota je 0:00:00. Pokud <odsazení> chybí, jeho výchozí hodnotou je posun místního časového pásma nebo TimeSpan.Zero pokud DateTimeStyles.AdjustToUniversal je hodnota nebo DateTimeStyles.AssumeUniversal zadána v parametru styles . Pokud <je k dispozici posun> , může představovat buď záporný, nebo kladný posun od koordinovaného univerzálního času (UTC). V obou případech <musí offset> obsahovat symbol znaménka.

Formát těchto tří prvků je definován parametrem formatProvider , který může být některý z následujících:

Každý prvek může být také uzavřený úvodním nebo koncovým prázdným znakem a <prvky data> a <času> můžou obsahovat vnitřní prázdné znaky (například 6: 00:00). Pouze komponenta <Offset> nemůže obsahovat vnitřní prázdné znaky.

Pokud formatprovider je null, použije se CultureInfo objekt, který odpovídá aktuální jazykové verzi.

Kladné nebo záporné znaménko použité v <posunu> musí být + nebo -. Není definován vlastnostmi PositiveSign nebo NegativeSign objektu NumberFormatInfo vráceného parametrem formatProvider .

Následující tabulka obsahuje podporované členy výčtu System.Globalization.DateTimeStyles .

Člen DateTimeStyles Description
AdjustToUniversal Analyzuje řetězec reprezentovaný a input v případě potřeby ho převede na UTC. Je ekvivalentní k analýze řetězce a následnému DateTimeOffset.ToUniversalTime volání metody vráceného DateTimeOffset objektu.
AllowInnerWhite Přestože je tato hodnota platná, je ignorována. Vnitřní prázdné znaky jsou povoleny v elementech <Datum> a <Čas> .
AllowLeadingWhite Přestože je tato hodnota platná, je ignorována. Před každou komponentou v analyzovaného řetězci je povolená úvodní mezera.
AllowTrailingWhite Přestože je tato hodnota platná, je ignorována. Koncové prázdné znaky jsou povolené před každou komponentou v analyzovaného řetězci.
AllowWhiteSpaces Toto je výchozí chování. Nelze ji přepsat zadáním přísnější DateTimeStyles hodnoty výčtu, například DateTimeStyles.None.
AssumeLocal Označuje, že pokud input parametr nemá <prvek Offset> , měl by být poskytnut posun místního časového pásma. Toto je výchozí chování Parse metody.
AssumeUniversal Označuje, že pokud input parametr nemá <prvek Offset> , měl by být zadán posun UTC (00:00).
None Ačkoli je tato hodnota platná, je ignorována a nemá žádný vliv.
RoundtripKind Vzhledem k tomu, že DateTimeOffset struktura neobsahuje Kind vlastnost, nemá tato hodnota žádný vliv.

Pouze hodnota DateTimeStyles.NoCurrentDateDefault není podporována. Pokud ArgumentException je tato hodnota zahrnuta v parametru styles , vyvolá se hodnota .

Viz také

Platí pro