DateTimeOffset.TryParse Metoda

Definice

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

Přetížení

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

Pokusí se převést zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda převod proběhl úspěšně.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

Pokusí se převést zadanou reprezentaci rozsahu data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda byl převod úspěšný.

TryParse(String, IFormatProvider, DateTimeOffset)

Pokusí se parsovat řetězec na hodnotu.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

Pokusí se parsovat rozsah znaků na hodnotu.

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

Pokusí se převést zadanou reprezentaci rozsahu data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda byl převod úspěšný.

TryParse(String, DateTimeOffset)

Pokusí se převést zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda byl převod úspěšný.

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

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

Pokusí se převést zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda převod proběhl úspěšně.

public static bool TryParse(string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParse(string? input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);

Parametry

input
String

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

formatProvider
IFormatProvider

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

styles
DateTimeStyles

Bitové kombinace hodnot výčtu, která označuje povolený formát souboru input.

result
DateTimeOffset

Když metoda vrátí, obsahuje DateTimeOffset hodnotu odpovídající datu a času input, pokud byl převod úspěšný, nebo DateTimeOffset.MinValue, pokud převod selhal. Převod selže, input pokud parametr obsahuje null nebo neobsahuje platnou řetězcovou reprezentaci data a času. Tento parametr se předává neinicializovaný.

Návraty

truepokud se input parametr úspěšně převeďte, v opačném případě . false

Výjimky

styles obsahuje nedefinovanou DateTimeStyles hodnotu.

-nebo-

NoCurrentDateDefault se nepodporuje.

-nebo-

styles zahrnuje vzájemně se vylučujíelné DateTimeStyles hodnoty.

Příklady

Následující příklad volá metodu TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) s různými DateTimeStyles hodnotami k analýze některých řetězců s různými formáty data a času.

string dateString;
DateTimeOffset parsedDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeLocal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Assume time is UTC
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeUniversal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00";
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                           DateTimeStyles.AdjustToUniversal,
                           out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);
// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.

Poznámky

Toto přetížení TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) metody se podobá DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) metodě s tím rozdílem, že nevyvolá výjimku, pokud převod selže. Metoda 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 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 Zero pokud DateTimeStyles.AdjustToUniversal je hodnota nebo DateTimeStyles.AssumeUniversal zadána v stylessouboru . 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 nebo metoda vrátí false.

Řetězec input se analyzuje pomocí informací o formátování specifické pro jazykovou verzi v objektu DateTimeFormatInfo zadaném parametrem formatProvider . Parametr formatProvider může být jeden z následujících parametrů:

Kromě toho může být každý prvek oddělený úvodní nebo koncovou mezerou a <komponenty 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 provider 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 nebo objektu NumberFormatInfo vráceného vlastností parametru NumberFormatformatprovider.NegativeSignPositiveSign

Podporují se následující členy výčtu DateTimeStyles :

DateTimeStyles – člen Komentáře
AdjustToUniversal Analyzuje řetězec reprezentovaný a input v případě potřeby ho převede na UTC. Je to ekvivalent k analýze řetězce a následnému volání metody vráceného objektu ToUniversalTime() .
AllowInnerWhite Přestože je tato hodnota platná, je ignorována. Vnitřní prázdné znaky jsou povoleny v komponentách <Datum> a <Čas> .
AllowLeadingWhite Přestože je tato hodnota platná, je ignorována. Úvodní prázdné znaky jsou povolené před každou komponentou v analyzovaného řetězci.
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í TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) 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

.NET 10 a další verze
Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

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

Pokusí se převést zadanou reprezentaci rozsahu data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda byl převod úspěšný.

public static bool TryParse(ReadOnlySpan<char> input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParse(ReadOnlySpan<char> input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);

Parametry

input
ReadOnlySpan<Char>

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

formatProvider
IFormatProvider

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

styles
DateTimeStyles

Bitové kombinace hodnot výčtu, která označuje povolený formát souboru input.

result
DateTimeOffset

Když metoda vrátí, obsahuje DateTimeOffset hodnotu odpovídající datu a času input, pokud byl převod úspěšný, nebo DateTimeOffset.MinValue, pokud převod selhal. Převod selže, input pokud parametr obsahuje null nebo neobsahuje platnou řetězcovou reprezentaci data a času. Tento parametr se předává neinicializovaný.

Návraty

truepokud se input parametr úspěšně převeďte, v opačném případě . false

Platí pro

.NET 10 a další verze
Produkt Verze
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1

TryParse(String, IFormatProvider, DateTimeOffset)

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

Pokusí se parsovat řetězec na hodnotu.

public static bool TryParse(string? s, IFormatProvider? provider, out DateTimeOffset result);

Parametry

s
String

Řetězec, který chcete analyzovat.

provider
IFormatProvider

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

result
DateTimeOffset

Když se tato metoda vrátí, obsahuje výsledek úspěšné analýzy s nebo nedefinovanou hodnotu při selhání.

Návraty

truepokud s byl úspěšně parsován, v opačném případě . false

Platí pro

.NET 10 a další verze
Produkt Verze
.NET 7, 8, 9, 10

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

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

Pokusí se parsovat rozsah znaků na hodnotu.

public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out DateTimeOffset result);

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

result
DateTimeOffset

Když se tato metoda vrátí, obsahuje výsledek úspěšné analýzy snebo nedefinovanou hodnotu při selhání.

Návraty

truepokud s byl úspěšně parsován, v opačném případě . false

Platí pro

.NET 10 a další verze
Produkt Verze
.NET 7, 8, 9, 10

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

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

Pokusí se převést zadanou reprezentaci rozsahu data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda byl převod úspěšný.

public static bool TryParse(ReadOnlySpan<char> input, out DateTimeOffset result);

Parametry

input
ReadOnlySpan<Char>

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

result
DateTimeOffset

Když metoda vrátí, obsahuje DateTimeOffset ekvivalent k datu a času input, pokud byl převod úspěšný, nebo DateTimeOffset.MinValue, pokud převod selhal. Převod selže, input pokud parametr obsahuje null nebo neobsahuje platnou řetězcovou reprezentaci data a času. Tento parametr se předává neinicializovaný.

Návraty

truepokud se input parametr úspěšně převeďte, v opačném případě . false

Platí pro

.NET 10 a další verze
Produkt Verze
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1

TryParse(String, DateTimeOffset)

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

Pokusí se převést zadanou řetězcovou reprezentaci data a času na jeho DateTimeOffset ekvivalent a vrátí hodnotu, která označuje, zda byl převod úspěšný.

public static bool TryParse(string input, out DateTimeOffset result);
public static bool TryParse(string? input, out DateTimeOffset result);

Parametry

input
String

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

result
DateTimeOffset

Když metoda vrátí, obsahuje DateTimeOffset ekvivalent k datu a času input, pokud byl převod úspěšný, nebo DateTimeOffset.MinValue, pokud převod selhal. Převod selže, input pokud parametr obsahuje null nebo neobsahuje platnou řetězcovou reprezentaci data a času. Tento parametr se předává neinicializovaný.

Návraty

truepokud se input parametr úspěšně převeďte, v opačném případě . false

Příklady

Následující příklad volá metodu TryParse(String, DateTimeOffset) parsování několika řetězců s různými formáty data a času.

DateTimeOffset parsedDate;
string dateString;

// String with date only
dateString = "05/01/2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with time only
dateString = "11:36 PM";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date and offset
dateString = "05/01/2008 +7:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with day abbreviation
dateString = "Thu May 01, 2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);
// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.

Poznámky

Toto přetížení TryParse(String, DateTimeOffset) metody se podobá DateTimeOffset.Parse(String) metodě s tím rozdílem, že nevyvolá výjimku, pokud převod selže. 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 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 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í č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. 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 nebo metoda vrátí false.

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

Viz také

Platí pro

.NET 10 a další verze
Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0