Compartir a través de


DateTimeOffset.Parse Método

Definición

Convierte la representación de cadena especificada de una fecha y hora en el objeto DateTimeOffset equivalente.

Sobrecargas

Parse(String)

Convierte la representación de cadena especificada de una fecha, hora y desplazamiento en el objeto DateTimeOffset equivalente.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Analiza un intervalo de caracteres en un valor.

Parse(String, IFormatProvider)

Convierte la representación de cadena especificada de una fecha y hora en su DateTimeOffset equivalente, usando la información de formato específica de la referencia cultural especificada.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Convierte la representación de intervalo especificada de una fecha y hora en su valor DateTimeOffset equivalente, mediante la información de formato específica de la referencia cultural y el estilo de formato especificados.

Parse(String, IFormatProvider, DateTimeStyles)

Convierte la representación de cadena especificada de una fecha y hora en el objeto DateTimeOffset equivalente, usando la información de formato específica de la referencia cultural y el estilo de formato especificados.

Comentarios

Importante

Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios. Para obtener más información y determinar si las aplicaciones se ven afectadas, consulte Control de una nueva era en el calendario japonés en .NET. Para obtener información sobre cómo probar las aplicaciones en sistemas Windows para garantizar su preparación para el cambio de era, consulte Preparación de la aplicación para el cambio en la era japonesa. Para ver las características de .NET que admiten calendarios con varias eras y para conocer los procedimientos recomendados al trabajar con calendarios que admiten varias eras, consulte Trabajar con eras.

Parse(String)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Convierte la representación de cadena especificada de una fecha, hora y desplazamiento en el objeto 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

Cadena que contiene una fecha y hora que se van a convertir.

Devoluciones

Objeto equivalente a la fecha y hora contenidas en input.

Excepciones

El desplazamiento es mayor que 14 horas o menor que -14 horas.

input es null.

input no contiene una representación de cadena válida de una fecha y una hora.

o bien

input contiene la representación de cadena de un valor de desplazamiento sin una fecha o una hora.

Ejemplos

En el ejemplo siguiente se llama al Parse(String) método para analizar varias cadenas de fecha y hora. En el ejemplo se incluye la salida del 22 de marzo de 2007 en un sistema cuya referencia cultural es 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

Comentarios

Parse(String) analiza una cadena con tres elementos que pueden aparecer en cualquier orden y están delimitados por espacios en blanco. Estos tres elementos se muestran en la tabla siguiente.

Elemento Ejemplo
<Date> "2/10/2007"
<Time> "1:02:03 PM"
<Offset> "-7:30"

Aunque cada uno de estos elementos es opcional, <Offset> no puede aparecer por sí mismo. Debe proporcionarse junto con <fecha> u <hora>. Si <falta Date> , su valor predeterminado es el día actual. Si <falta time> , su valor predeterminado es 12:00:00 AM. Si <Date> está presente, pero su componente de año consta de solo dos dígitos, se convierte a un año en el calendario actual de la referencia cultural actual en función del valor de la Calendar.TwoDigitYearMax propiedad . Si <falta Offset> , su valor predeterminado es el desplazamiento de la zona horaria local. <El desplazamiento> puede representar un desplazamiento negativo o positivo de la hora universal coordinada (UTC). En cualquier caso, <Offset> debe incluir un símbolo de signo.

La input cadena se analiza mediante la información de formato de un DateTimeFormatInfo objeto que se inicializa para la referencia cultural actual. Para analizar una cadena que contiene el formato designado que no se corresponde necesariamente con el formato de la referencia cultural actual, use el ParseExact método y proporcione un especificador de formato.

Consulte también

Se aplica a

Parse(ReadOnlySpan<Char>, IFormatProvider)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Analiza un intervalo de caracteres en un 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>

Intervalo de caracteres que se van a analizar.

provider
IFormatProvider

Un objeto que proporciona información de formato específica de la referencia cultural sobre s.

Devoluciones

Resultado del análisis sde .

Implementaciones

Se aplica a

Parse(String, IFormatProvider)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Convierte la representación de cadena especificada de una fecha y hora en su DateTimeOffset equivalente, usando la información de formato específica de la referencia cultural especificada.

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

Cadena que contiene una fecha y hora que se van a convertir.

formatProvider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre input.

Devoluciones

Objeto equivalente a la fecha y hora contenidas en input, tal como especifica formatProvider.

Implementaciones

Excepciones

El desplazamiento es mayor que 14 horas o menor que -14 horas.

input es null.

input no contiene una representación de cadena válida de una fecha y una hora.

o bien

input contiene la representación de cadena de un valor de desplazamiento sin una fecha o una hora.

Ejemplos

En el ejemplo siguiente se analizan las cadenas de fecha y hora con formato para la referencia cultural fr-fr y se muestran mediante la referencia cultural predeterminada del 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

Comentarios

Este método analiza una cadena con tres elementos que pueden aparecer en cualquier orden y están delimitados por espacios en blanco. Estos tres elementos se muestran en la tabla siguiente.

Elemento Ejemplo
<Date> "2/10/2007"
<Time> "1:02:03 PM"
<Offset> "-7:30"

Aunque cada uno de estos elementos es opcional, <Offset> no puede aparecer por sí mismo. Debe proporcionarse junto con <fecha> u <hora>. Si <falta Date> , su valor predeterminado es el día actual. Si <Date> está presente, pero su componente de año consta de solo dos dígitos, se convierte a un año en el provider calendario actual del parámetro en función del valor de la Calendar.TwoDigitYearMax propiedad . Si <falta time> , su valor predeterminado es 12:00:00 AM. Si <falta Offset> , su valor predeterminado es el desplazamiento de la zona horaria local. <El desplazamiento> puede representar un desplazamiento negativo o positivo de la hora universal coordinada (UTC). En cualquier caso, <Offset> debe incluir un símbolo de signo.

El formato de estos tres elementos se define mediante el formatProvider parámetro , que puede ser cualquiera de los siguientes:

Si formatprovider es null, se usa el CultureInfo objeto que corresponde a la referencia cultural actual.

El signo positivo o negativo usado en <Offset> debe ser + o -. No se define mediante las PositiveSign propiedades o NegativeSign del NumberFormatInfo objeto del formatProvider parámetro .

Consulte también

Se aplica a

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Convierte la representación de intervalo especificada de una fecha y hora en su valor DateTimeOffset equivalente, mediante la información de formato específica de la referencia cultural y el estilo de formato 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>

Un intervalo que contiene los caracteres que representan una fecha y hora que se van a convertir.

formatProvider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre input.

styles
DateTimeStyles

Combinación bit a bit de valores de enumeración que indica el formato permitido de input. Un valor que se especifica de forma habitual es None.

Devoluciones

Objeto equivalente a la fecha y hora que se indican en input, tal como especifican formatProvider y styles.

Se aplica a

Parse(String, IFormatProvider, DateTimeStyles)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Convierte la representación de cadena especificada de una fecha y hora en el objeto DateTimeOffset equivalente, usando la información de formato específica de la referencia cultural y el estilo de formato especificados.

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

Cadena que contiene una fecha y hora que se van a convertir.

formatProvider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural sobre input.

styles
DateTimeStyles

Combinación bit a bit de valores de enumeración que indica el formato permitido de input. Un valor que se especifica de forma habitual es None.

Devoluciones

Objeto equivalente a la fecha y hora que se indican en input, tal como especifican formatProvider y styles.

Excepciones

El desplazamiento es mayor que 14 horas o menor que -14 horas.

o bien

styles no es un valor DateTimeStyles válido.

o bien

styles incluye un valor DateTimeStyles no admitido.

o bien

styles incluye valores DateTimeStyles que no pueden usarse juntos.

input es null.

input no contiene una representación de cadena válida de una fecha y una hora.

o bien

input contiene la representación de cadena de un valor de desplazamiento sin una fecha o una hora.

Ejemplos

En el ejemplo siguiente se muestra el efecto de pasar los DateTimeStyles.AssumeLocalvalores , DateTimeStyles.AssumeUniversaly DateTimeStyles.AdjustToUniversal al styles parámetro del 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

Comentarios

Este método analiza una cadena con tres elementos que pueden aparecer en cualquier orden y están delimitados por espacios en blanco. Estos tres elementos se muestran en la tabla siguiente.

Elemento Ejemplo
<Date> "2/10/2007"
<Time> "1:02:03 PM"
<Offset> "-7:30"

Aunque cada uno de estos elementos es opcional, <Offset> no puede aparecer por sí mismo. Debe proporcionarse junto con <la fecha> u <hora>. Si <falta Date> , su valor predeterminado es el día actual. Si <Date> está presente, pero su componente de año consta de solo dos dígitos, se convierte en un año en el provider calendario actual del parámetro en función del valor de la Calendar.TwoDigitYearMax propiedad . Si <falta time> , su valor predeterminado es 12:00:00 AM. Si <falta Offset> , su valor predeterminado es el desplazamiento de la zona horaria local o TimeSpan.Zero si se especifica el DateTimeStyles.AdjustToUniversal valor o DateTimeStyles.AssumeUniversal en el styles parámetro . Si <Offset> está presente, puede representar un desplazamiento negativo o positivo de la hora universal coordinada (UTC). En cualquier caso, <Offset> debe incluir un símbolo de signo.

El formato de estos tres elementos se define mediante el formatProvider parámetro , que puede ser cualquiera de los siguientes:

Cada elemento también se puede incluir entre espacios en blanco iniciales o finales, y los <elementos Date> y <Time> pueden incluir espacios en blanco internos (como 6: 00:00). Solo el <componente Offset> no puede incluir espacios en blanco internos.

Si formatprovider es null, se usa el CultureInfo objeto que corresponde a la referencia cultural actual.

El signo positivo o negativo usado en <Offset> debe ser + o -. No se define mediante las PositiveSign propiedades o NegativeSign del NumberFormatInfo objeto devuelto por el formatProvider parámetro .

En la tabla siguiente se muestran los miembros de la System.Globalization.DateTimeStyles enumeración que se admiten.

Miembro DateTimeStyles Description
AdjustToUniversal Analiza la cadena representada por input y, si es necesario, la convierte en UTC. Equivale a analizar una cadena y, a continuación, llamar al DateTimeOffset.ToUniversalTime método del objeto devuelto DateTimeOffset .
AllowInnerWhite Aunque es válido, este valor se omite. Se permite el espacio en blanco interno en los <elementos Date> y <Time> .
AllowLeadingWhite Aunque es válido, este valor se omite. Se permite el espacio en blanco inicial delante de cada componente de la cadena analizada.
AllowTrailingWhite Aunque es válido, este valor se omite. Se permite el espacio en blanco final delante de cada componente de la cadena analizada.
AllowWhiteSpaces Este es el comportamiento predeterminado. No se puede invalidar proporcionando un valor de enumeración más restrictivo DateTimeStyles , como DateTimeStyles.None.
AssumeLocal Indica que, si el input parámetro carece de un <elemento Offset> , se debe proporcionar el desplazamiento de la zona horaria local. Este es el comportamiento predeterminado del Parse método .
AssumeUniversal Indica que, si el input parámetro carece de un <elemento Offset> , se debe proporcionar el desplazamiento UTC (00:00).
None Aunque es válido, este valor se omite y no tiene ningún efecto.
RoundtripKind Dado que la DateTimeOffset estructura no incluye una Kind propiedad, este valor no tiene ningún efecto.

Solo no se admite el DateTimeStyles.NoCurrentDateDefault valor. Se produce una ArgumentException excepción si este valor se incluye en el styles parámetro .

Consulte también

Se aplica a