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í

Name Description
Parse(String)

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

Parse(ReadOnlySpan<Char>, IFormatProvider)

Parsuje rozsah znaků do hodnoty.

Parse(String, IFormatProvider)

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

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Převede zadanou reprezentaci data a času na ekvivalent DateTimeOffset pomocí zadaných informací o formátu specifickém pro jazykovou verzi a stylu formátování.

Parse(String, IFormatProvider, DateTimeStyles)

Převede zadanou řetězcovou reprezentaci data a času na ekvivalent DateTimeOffset pomocí zadaných informací o formátu specifickém pro 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ětna 2019 označilo začátek období Reiwa v JapaneseCalendar a JapaneseLunisolarCalendar. Taková změna éry ovlivňuje všechny aplikace, které tyto kalendáře používají. Další informace a určení, zda jsou ovlivněny vaše aplikace, naleznete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows za účelem zajištění připravenosti na změnu v éře najdete v tématu Příprava aplikace na změnu japonské éry. Funkce v .NET, které podporují kalendáře s více obdobími a osvědčené postupy při práci s kalendáři, které podporují více období, najdete v tématu Práce s obdobími.

Parse(String)

Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs
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 pro převod.

Návraty

Objekt, který je ekvivalentní datu a času, který je obsažen v 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) parsuje řetězec se třemi prvky, které se mohou objevit v libovolném pořadí a jsou oddělené prázdným znakem. Tyto tři prvky jsou znázorněné v následující tabulce.

prvek Příklad
<Datum> "2/10/2007"
<Čas> "1:02:03 PM"
<Posun> "-7:30"

I když je každý z těchto prvků nepovinný, <> posun se nemůže zobrazit sám o sobě. Musí být k dispozici společně s datem> nebo <časem<>. Pokud <chybí datum> , výchozí hodnota je aktuální den. Pokud <chybí čas> , jeho výchozí hodnota je 12:00:00. Pokud <je datum> , ale jeho rok součást 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> , výchozí hodnota je posun místního časového pásma. <Posun> může představovat záporný nebo kladný posun od koordinovaného univerzálního času (UTC). V obou případech <musí posun> 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. K analýze řetězce obsahujícího 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
Zdroj:
DateTimeOffset.cs
Zdroj:
DateTimeOffset.cs

Parsuje rozsah znaků do hodnoty.

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 sformátování specifické pro jazykovou verzi .

Návraty

Výsledek analýzy s.

Implementuje

Platí pro

Parse(String, IFormatProvider)

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

Převede zadanou řetězcovou reprezentaci data a času na ekvivalent DateTimeOffset pomocí zadaných informací o formátu specifickém 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 pro převod.

formatProvider
IFormatProvider

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

Návraty

Objekt, který je ekvivalentní datu a času, který je obsažen v input, jak je určeno formatProvider.

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 místního systému 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

Poznámky

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

prvek Příklad
<Datum> "2/10/2007"
<Čas> "1:02:03 PM"
<Posun> "-7:30"

I když je každý z těchto prvků nepovinný, <> posun se nemůže zobrazit sám o sobě. Musí být k dispozici společně s datem> nebo <časem<>. Pokud <chybí datum> , výchozí hodnota je aktuální den. Pokud <je datum> , ale jeho rok součást 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 12:00:00. Pokud <chybí posun> , výchozí hodnota je posun místního časového pásma. <Posun> může představovat záporný nebo kladný posun od koordinovaného univerzálního času (UTC). V obou případech <musí posun> obsahovat symbol znaménka.

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

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

Kladné nebo záporné znaménko použité v <posunu> musí být + nebo -. Není definována PositiveSign objektem parametru nebo NegativeSign jeho vlastnostmi NumberFormatInfoformatProvider .

Viz také

Platí pro

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

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

Převede zadanou reprezentaci data a času na ekvivalent DateTimeOffset pomocí zadaných informací o formátu specifickém pro jazykovou verzi a stylu formátování.

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 pro převod.

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 input. Typická hodnota, kterou je třeba zadat, je None.

Návraty

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

Platí pro

Parse(String, IFormatProvider, DateTimeStyles)

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

Převede zadanou řetězcovou reprezentaci data a času na ekvivalent DateTimeOffset pomocí zadaných informací o formátu specifickém pro 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 pro převod.

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 input. Typická hodnota, kterou je třeba zadat, je None.

Návraty

Objekt, který je ekvivalentní k datu a času, který je obsažen v input zadaném formatProvider 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 ukazuje účinek předání DateTimeStyles.AssumeLocal, DateTimeStyles.AssumeUniversala DateTimeStyles.AdjustToUniversal hodnoty parametru stylesParse(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 mohou objevit v libovolném pořadí a jsou oddělené prázdným znakem. Tyto tři prvky jsou uvedeny v následující tabulce.

prvek Příklad
<Datum> "2/10/2007"
<Čas> "1:02:03 PM"
<Posun> "-7:30"

I když je každý z těchto prvků nepovinný, <> posun se nemůže zobrazit sám o sobě. Musí být k dispozici společně s datem> nebo <časem<>. Pokud <chybí datum> , výchozí hodnota je aktuální den. Pokud <je datum> , ale jeho rok součást 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 12:00:00. Pokud <chybí posun>, jeho výchozí hodnota je posun místního časového pásma, nebo TimeSpan.Zero pokud DateTimeStyles.AdjustToUniversal je v parametru styles zadána hodnota nebo DateTimeStyles.AssumeUniversal hodnota. Pokud <je posun> přítomný, může představovat záporný nebo kladný posun od koordinovaného univerzálního času (UTC). V obou případech <musí posun> obsahovat symbol znaménka.

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

Každý prvek může být také uzavřený počáteční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). Vnitřní prázdné znaky nesmí obsahovat pouze komponenta <Posun> .

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

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

Následující tabulka ukazuje členy výčtu System.Globalization.DateTimeStyles , které jsou podporovány.

DateTimeStyles – člen Description
AdjustToUniversal Parsuje řetězec reprezentovaný input a v případě potřeby ho převede na UTC. Je ekvivalentní parsování řetězce a následné volání DateTimeOffset.ToUniversalTime metody vráceného DateTimeOffset objektu.
AllowInnerWhite I když je tato hodnota platná, tato hodnota se ignoruje. Vnitřní prázdné znaky jsou povoleny v elementech <data> a <času> .
AllowLeadingWhite I když je tato hodnota platná, tato hodnota se ignoruje. Počáteční prázdné znaky jsou povoleny před každou komponentou v analyzovaném řetězci.
AllowTrailingWhite I když je tato hodnota platná, tato hodnota se ignoruje. Koncové prázdné znaky jsou povoleny před každou komponentou v analyzovaném řetězci.
AllowWhiteSpaces Toto je výchozí chování. Nelze jej 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 Posun> , 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 neobsahuje <prvek Posun> , měl by být zadán posun UTC (00:00).
None I když je tato hodnota platná, tato hodnota se ignoruje a nemá žádný vliv.
RoundtripKind Vzhledem k tomu, že DateTimeOffset struktura neobsahuje Kind vlastnost, tato hodnota nemá žádný vliv.

Nepodporuje se DateTimeStyles.NoCurrentDateDefault jenom hodnota. Vyvolá ArgumentException se, pokud je tato hodnota zahrnuta do parametru styles .

Viz také

Platí pro