Partilhar via


DateTimeOffset.Parse Método

Definição

Converte a representação de cadeia de caracteres especificada de uma data e hora em seu DateTimeOffset equivalente.

Sobrecargas

Nome Description
Parse(String)

Converte a representação de cadeia de caracteres especificada de uma data, hora e deslocamento em seu DateTimeOffset equivalente.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Analisa um intervalo de caracteres em um valor.

Parse(String, IFormatProvider)

Converte a representação de cadeia de caracteres especificada de uma data e hora em seu DateTimeOffset equivalente usando as informações de formato específicas da cultura especificadas.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Converte a representação de intervalo especificada de uma data e hora em seu DateTimeOffset equivalente usando as informações de formato e o estilo de formatação específicos da cultura especificados.

Parse(String, IFormatProvider, DateTimeStyles)

Converte a representação de cadeia de caracteres especificada de uma data e hora em seu DateTimeOffset equivalente usando as informações de formato específicas da cultura especificadas e o estilo de formatação.

Comentários

Importante

Eras nos calendários japoneses são baseadas no reinado do imperador e, portanto, espera-se que mudem. Por exemplo, 1º de maio de 2019 marcou o início da era Reiwa no JapaneseCalendar e JapaneseLunisolarCalendar. Essa mudança de era afeta todos os aplicativos que usam esses calendários. Para obter mais informações e determinar se seus aplicativos são afetados, consulte Como lidar com uma nova era no calendário japonês no .NET. Para obter informações sobre como testar seus aplicativos em sistemas Windows para garantir sua preparação para a alteração da era, consulte Preparar seu aplicativo para a alteração da era japonesa. Para obter recursos no .NET que dão suporte a calendários com várias eras e práticas recomendadas ao trabalhar com calendários que dão suporte a várias eras, consulte Trabalhando com eras.

Parse(String)

Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs

Converte a representação de cadeia de caracteres especificada de uma data, hora e deslocamento em seu DateTimeOffset equivalente.

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

Parâmetros

input
String

Uma cadeia de caracteres que contém uma data e hora a serem convertidas.

Retornos

Um objeto equivalente à data e hora contidas em input.

Exceções

O deslocamento é maior que 14 horas ou menos do que -14 horas.

input é null.

input não contém uma representação de cadeia de caracteres válida de uma data e hora.

- ou -

input contém a representação de cadeia de caracteres de um valor de deslocamento sem uma data ou hora.

Exemplos

O exemplo a seguir chama o Parse(String) método para analisar várias cadeias de caracteres de data e hora. O exemplo inclui a saída de 22 de março de 2007, em um sistema cuja cultura é 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

Comentários

Parse(String) analisa uma cadeia de caracteres com três elementos que podem aparecer em qualquer ordem e são delimitados por espaço em branco. Esses três elementos são mostrados na tabela a seguir.

Elemento Exemplo
<Data> "2/10/2007"
<Tempo> "13:02:03"
<Deslocamento> "-7:30"

Embora cada um desses elementos seja opcional, <Offset> não pode aparecer sozinho. Ele deve ser fornecido junto com <Data> ou <Hora>. Se <Date> estiver ausente, seu valor padrão será o dia atual. Se <a hora> estiver ausente, seu valor padrão será 12:00:00 AM. Se <Data> estiver presente, mas seu componente de ano consistir em apenas dois dígitos, ele será convertido em um ano no calendário atual da cultura atual com base no valor da Calendar.TwoDigitYearMax propriedade. Se <o Deslocamento> estiver ausente, seu valor padrão será o deslocamento do fuso horário local. <O deslocamento> pode representar um deslocamento negativo ou positivo do UTC (Tempo Universal Coordenado). Em ambos os casos, <o Deslocamento> deve incluir um símbolo de sinal.

A input cadeia de caracteres é analisada usando as informações de formatação em um DateTimeFormatInfo objeto inicializado para a cultura atual. Para analisar uma cadeia de caracteres que contém a formatação designada que não corresponde necessariamente à formatação da cultura atual, use o ParseExact método e forneça um especificador de formato.

Confira também

Aplica-se a

Parse(ReadOnlySpan<Char>, IFormatProvider)

Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs

Analisa um intervalo de caracteres em um valor.

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

Parâmetros

s
ReadOnlySpan<Char>

O intervalo de caracteres a serem analisados.

provider
IFormatProvider

Um objeto que fornece informações de formatação específicas da cultura sobre s.

Retornos

O resultado da análise s.

Implementações

Aplica-se a

Parse(String, IFormatProvider)

Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs

Converte a representação de cadeia de caracteres especificada de uma data e hora em seu DateTimeOffset equivalente usando as informações de formato específicas da cultura especificadas.

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

Parâmetros

input
String

Uma cadeia de caracteres que contém uma data e hora a serem convertidas.

formatProvider
IFormatProvider

Um objeto que fornece informações de formato específico à cultura sobre input.

Retornos

Um objeto equivalente à data e hora contidas, inputconforme especificado por formatProvider.

Implementações

Exceções

O deslocamento é maior que 14 horas ou menos do que -14 horas.

input é null.

input não contém uma representação de cadeia de caracteres válida de uma data e hora.

- ou -

input contém a representação de cadeia de caracteres de um valor de deslocamento sem uma data ou hora.

Exemplos

O exemplo a seguir analisa cadeias de caracteres de data e hora formatadas para a cultura fr-fr e as exibe usando a cultura de en-us padrão do sistema local.

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

Comentários

Esse método analisa uma cadeia de caracteres com três elementos que podem aparecer em qualquer ordem e são delimitados por espaço em branco. Esses três elementos são mostrados na tabela a seguir.

Elemento Exemplo
<Data> "2/10/2007"
<Tempo> "13:02:03"
<Deslocamento> "-7:30"

Embora cada um desses elementos seja opcional, <Offset> não pode aparecer sozinho. Ele deve ser fornecido junto com <Data> ou <Hora>. Se <Date> estiver ausente, seu valor padrão será o dia atual. Se <Date> estiver presente, mas seu componente de ano consistir em apenas dois dígitos, ele será convertido em um ano no provider calendário atual do parâmetro com base no valor da Calendar.TwoDigitYearMax propriedade. Se <a hora> estiver ausente, seu valor padrão será 12:00:00 AM. Se <o Deslocamento> estiver ausente, seu valor padrão será o deslocamento do fuso horário local. <O deslocamento> pode representar um deslocamento negativo ou positivo do UTC (Tempo Universal Coordenado). Em ambos os casos, <o Deslocamento> deve incluir um símbolo de sinal.

O formato desses três elementos é definido pelo formatProvider parâmetro, que pode ser um dos seguintes:

Se formatprovider for null, o CultureInfo objeto que corresponde à cultura atual será usado.

O sinal positivo ou negativo usado no <Deslocamento> deve ser + ou -. Ele não é definido pelas propriedades NumberFormatInfo ou NegativeSign pelo PositiveSign objeto do formatProvider parâmetro.

Confira também

Aplica-se a

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs

Converte a representação de intervalo especificada de uma data e hora em seu DateTimeOffset equivalente usando as informações de formato e o estilo de formatação específicos da cultura especificados.

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

Parâmetros

input
ReadOnlySpan<Char>

Um intervalo que contém os caracteres que representam uma data e hora a serem convertidos.

formatProvider
IFormatProvider

Um objeto que fornece informações de formato específico à cultura sobre input.

styles
DateTimeStyles

Uma combinação bit a bit de valores de enumeração que indica o formato permitido de input. Um valor típico a ser especificado é None.

Retornos

Um objeto equivalente à data e hora contidas conforme input especificado por formatProvider e styles.

Aplica-se a

Parse(String, IFormatProvider, DateTimeStyles)

Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs

Converte a representação de cadeia de caracteres especificada de uma data e hora em seu DateTimeOffset equivalente usando as informações de formato específicas da cultura especificadas e o estilo de formatação.

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

Parâmetros

input
String

Uma cadeia de caracteres que contém uma data e hora a serem convertidas.

formatProvider
IFormatProvider

Um objeto que fornece informações de formato específico à cultura sobre input.

styles
DateTimeStyles

Uma combinação bit a bit de valores de enumeração que indica o formato permitido de input. Um valor típico a ser especificado é None.

Retornos

Um objeto equivalente à data e hora contidas conforme input especificado por formatProvider e styles.

Exceções

O deslocamento é maior que 14 horas ou menos do que -14 horas.

- ou -

styles não é um valor válido DateTimeStyles .

- ou -

styles inclui um valor sem suporte DateTimeStyles .

- ou -

styles inclui DateTimeStyles valores que não podem ser usados juntos.

input é null.

input não contém uma representação de cadeia de caracteres válida de uma data e hora.

- ou -

input contém a representação de cadeia de caracteres de um valor de deslocamento sem uma data ou hora.

Exemplos

O exemplo a seguir ilustra o efeito de passar o DateTimeStyles.AssumeLocal, DateTimeStyles.AssumeUniversale DateTimeStyles.AdjustToUniversal valores para o styles parâmetro do Parse(String, IFormatProvider, DateTimeStyles) método.

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

Comentários

Esse método analisa uma cadeia de caracteres com três elementos que podem aparecer em qualquer ordem e são delimitados por espaço em branco. Esses três elementos são mostrados na tabela a seguir.

Elemento Exemplo
<Data> "2/10/2007"
<Tempo> "13:02:03"
<Deslocamento> "-7:30"

Embora cada um desses elementos seja opcional, <Offset> não pode aparecer sozinho. Ele deve ser fornecido junto com <Data> ou <Hora>. Se <Date> estiver ausente, seu valor padrão será o dia atual. Se <Date> estiver presente, mas seu componente de ano consistir em apenas dois dígitos, ele será convertido em um ano no provider calendário atual do parâmetro com base no valor da Calendar.TwoDigitYearMax propriedade. Se <a hora> estiver ausente, seu valor padrão será 12:00:00 AM. Se <o Deslocamento> estiver ausente, seu valor padrão será o deslocamento do fuso horário local ou TimeSpan.Zero se o valor ou DateTimeStyles.AssumeUniversal o DateTimeStyles.AdjustToUniversal valor for especificado no styles parâmetro. Se <o Deslocamento> estiver presente, ele poderá representar um deslocamento negativo ou positivo do UTC (Tempo Universal Coordenado). Em ambos os casos, <o Deslocamento> deve incluir um símbolo de sinal.

O formato desses três elementos é definido pelo formatProvider parâmetro, que pode ser um dos seguintes:

Cada elemento também pode ser colocado entre espaços em branco à esquerda ou à direita, e os <elementos Data> e <Hora> podem incluir espaço em branco interno (como 6: 00:00). Somente o <componente Deslocamento> não pode incluir espaço em branco interno.

Se formatprovider for null, o CultureInfo objeto que corresponde à cultura atual será usado.

O sinal positivo ou negativo usado no <Deslocamento> deve ser + ou -. Ele não é definido pelas propriedades NumberFormatInfo ou NegativeSign pelo PositiveSign objeto retornado pelo formatProvider parâmetro.

A tabela a seguir mostra os membros da System.Globalization.DateTimeStyles enumeração com suporte.

Membro DateTimeStyles Descrição
AdjustToUniversal Analisa a cadeia de caracteres representada input e, se necessário, converte-a em UTC. É equivalente a analisar uma cadeia de caracteres e, em seguida, chamar o DateTimeOffset.ToUniversalTime método do objeto retornado DateTimeOffset .
AllowInnerWhite Embora seja válido, esse valor é ignorado. O espaço em branco interno é permitido nos <elementos Data> e <Hora> .
AllowLeadingWhite Embora seja válido, esse valor é ignorado. O espaço em branco à esquerda é permitido na frente de cada componente na cadeia de caracteres analisada.
AllowTrailingWhite Embora seja válido, esse valor é ignorado. O espaço em branco à direita é permitido na frente de cada componente na cadeia de caracteres analisada.
AllowWhiteSpaces Esse é o comportamento padrão. Ele não pode ser substituído fornecendo um valor de enumeração mais restritivo DateTimeStyles , como DateTimeStyles.None.
AssumeLocal Indica que, se o input parâmetro não tiver um <elemento Offset> , o deslocamento do fuso horário local deverá ser fornecido. Esse é o comportamento padrão do Parse método.
AssumeUniversal Indica que, se o input parâmetro não tiver um <elemento Offset> , o deslocamento UTC (00:00) deverá ser fornecido.
None Embora seja válido, esse valor é ignorado e não tem efeito.
RoundtripKind Como a DateTimeOffset estrutura não inclui uma Kind propriedade, esse valor não tem efeito.

Somente o DateTimeStyles.NoCurrentDateDefault valor não tem suporte. Um ArgumentException será gerado se esse valor estiver incluído no styles parâmetro.

Confira também

Aplica-se a