Compartilhar via


DateTimeOffset.Parse Método

Definição

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

Sobrecargas

Parse(String)

Converte a representação da cadeia de caracteres especificada de uma data, hora e desvio no 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 data e hora em seu equivalente DateTimeOffset usando as informações de formato específicas da cultura.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

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

Parse(String, IFormatProvider, DateTimeStyles)

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

Comentários

Importante

As eras nos calendários japoneses se baseiam no reinado do Imperador e, portanto, estão sujeitas a alterações. Por exemplo, 1º de maio de 2019 marcou o início da era Reiwa no JapaneseCalendar e no JapaneseLunisolarCalendar. Tal alteração de eras afeta todos os aplicativos que usam esses calendários. Para obter mais informações e determinar se seus aplicativos são afetados, consulte Manipulando 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 recursos no .NET que dão suporte a calendários com várias eras e para 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

Converte a representação da cadeia de caracteres especificada de uma data, hora e desvio no 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 ser convertida.

Retornos

Um objeto equivalente à data e hora contida no input.

Exceções

O deslocamento é maior que 14 horas ou menor que -14 horas.

input é null.

input não contém uma representação da 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 conforme mostrado na tabela a seguir.

Elemento Exemplo
<Data> "2/10/2007"
<Hora> "1:02:03 PM"
<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 <Time> estiver ausente, seu valor padrão será 12:00:00 AM. Se <Date> 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 <Offset> 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, <Offset> 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

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 à 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

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

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 ser convertida.

formatProvider
IFormatProvider

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

Retornos

Um objeto equivalente à data e hora contida em input, conforme especificado por formatProvider.

Implementações

Exceções

O deslocamento é maior que 14 horas ou menor que -14 horas.

input é null.

input não contém uma representação da 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 as cadeias de caracteres de data e hora formatadas para a cultura fr-fr e as exibe usando a cultura 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"
<Hora> "1:02:03 PM"
<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 <Time> estiver ausente, seu valor padrão será 12:00:00 AM. Se <Offset> 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, <Offset> deve incluir um símbolo de sinal.

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

Caso formatprovider seja null, o objeto CultureInfo que corresponde à cultura atual é usado.

O sinal positivo ou negativo usado no <Deslocamento> deve ser + ou -. Ele não é definido pelas PositiveSign propriedades ou NegativeSign do NumberFormatInfo 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

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

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 convertidas.

formatProvider
IFormatProvider

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

styles
DateTimeStyles

Um 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 contida no input, conforme especificado por formatProvider e styles.

Aplica-se a

Parse(String, IFormatProvider, DateTimeStyles)

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 o estilo de formatação e as informações de formato específicos da cultura especificada.

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 ser convertida.

formatProvider
IFormatProvider

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

styles
DateTimeStyles

Um 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 contida no input, conforme especificado por formatProvider e styles.

Exceções

O deslocamento é maior que 14 horas ou menor que -14 horas.

- ou -

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

- ou -

styles inclui um valor de DateTimeStyles sem suporte.

- ou -

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

input é null.

input não contém uma representação da 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 os DateTimeStyles.AssumeLocalvalores , DateTimeStyles.AssumeUniversale DateTimeStyles.AdjustToUniversal 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"
<Hora> "1:02:03 PM"
<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 <Time> estiver ausente, seu valor padrão será 12:00:00 AM. Se <Offset> estiver ausente, seu valor padrão será o deslocamento do fuso horário local ou TimeSpan.Zero se o DateTimeStyles.AdjustToUniversal valor ou DateTimeStyles.AssumeUniversal for especificado no styles parâmetro . Se <Offset> estiver presente, ele poderá representar um deslocamento negativo ou positivo do UTC (Tempo Universal Coordenado). Em ambos os casos, <Offset> 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 delimitado por espaço em branco à esquerda ou à direita, e os <elementos Date> e <Time> podem incluir espaço em branco interno (como 6: 00:00). Somente o <componente Deslocamento> não pode incluir espaço em branco interno.

Caso formatprovider seja null, o objeto CultureInfo que corresponde à cultura atual é usado.

O sinal positivo ou negativo usado no <Deslocamento> deve ser + ou -. Ele não é definido pelas PositiveSign propriedades ou NegativeSign do NumberFormatInfo 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 por 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 válido, esse valor é ignorado. O espaço em branco interno é permitido nos <elementos Data> e <Hora> .
AllowLeadingWhite Embora válido, esse valor é ignorado. O espaço em branco à esquerda é permitido na frente de cada componente na cadeia de caracteres analisada.
AllowTrailingWhite Embora 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 for incluído no styles parâmetro .

Confira também

Aplica-se a