Compartir a través de


XmlConvert.ToDateTimeOffset Método

Definición

Convierte la String proporcionada en un equivalente de DateTimeOffset.

Sobrecargas

ToDateTimeOffset(String, String[])

Convierte la String proporcionada en un equivalente de DateTimeOffset.

ToDateTimeOffset(String, String)

Convierte la String proporcionada en un equivalente de DateTimeOffset.

ToDateTimeOffset(String)

Convierte la String proporcionada en un equivalente de DateTimeOffset.

ToDateTimeOffset(String, String[])

Convierte la String proporcionada en un equivalente de DateTimeOffset.

public:
 static DateTimeOffset ToDateTimeOffset(System::String ^ s, cli::array <System::String ^> ^ formats);
public static DateTimeOffset ToDateTimeOffset (string s, string[] formats);
static member ToDateTimeOffset : string * string[] -> DateTimeOffset
Public Shared Function ToDateTimeOffset (s As String, formats As String()) As DateTimeOffset

Parámetros

s
String

Cadena que se va a convertir.

formats
String[]

Matriz de formatos a partir de los cuales puede convertirse s. Cada formato de formats puede ser cualquier subconjunto de la recomendación del Consorcio W3C relativa al tipo XML dateTime. Para obtener más información, consulte la sección dateTime de la especificación del esquema XML. La cadena s se valida comparándola con uno de estos formatos.

Devoluciones

DateTimeOffset

Equivalente de DateTimeOffset de la cadena proporcionada.

Ejemplos

En el ejemplo siguiente se muestra cómo leer una cadena de un archivo XML y usar el ToDateTimeOffset método para convertir la cadena en un DateTimeOffset tipo. La cadena de entrada debe validarse con uno de los formatos especificados antes de convertirse.

using System;
using System.Xml;

class Example
{
    static void Main()
    {
        // Create an XmlReader, read to the "time" element, and read contents as type string
        XmlReader reader = XmlReader.Create("transactions.xml");
        reader.ReadToFollowing("time");
        string time = reader.ReadElementContentAsString();

        // Specify formats against which time will be validated before conversion to DateTimeOffset
        // If time does not match one of the specified formats, a FormatException will be thrown.
        // Each specified format must be a subset of the W3C Recommendation for the XML dateTime type
        string[] formats = {"yyyy-MM-ddTHH:mm:sszzzzzzz", "yyyy-MM-ddTHH:mm:ss", "yyyy-MM-dd"};
        try
        {
            // Read the element contents as a string and covert to DateTimeOffset type
            DateTimeOffset transaction_time = XmlConvert.ToDateTimeOffset(time, formats);
            Console.WriteLine(transaction_time);
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    }
}
Imports System.Xml

Module Module1
    Sub Main()
        ' Create an XmlReader, read to the "time" element, and read contents as type string
        Dim reader As XmlReader = XmlReader.Create("transactions.xml")
        reader.ReadToFollowing("time")
        Dim time As String = reader.ReadElementContentAsString()

        ' Specify formats against which time will be validated before conversion to DateTimeOffset
        ' If time does not match one of the specified formats, a FormatException will be thrown.
        ' Each specified format must be a subset of the W3C Recommendation for the XML dateTime type
        Dim formats As String() = {"yyyy-MM-ddTHH:mm:sszzzzzzz", "yyyy-MM-ddTHH:mm:ss", "yyyy-MM-dd"}
        Try
            ' Read the element contents as a string and covert to DateTimeOffset type
            Dim transaction_time As DateTimeOffset = XmlConvert.ToDateTimeOffset(time, formats)
            Console.WriteLine(transaction_time)
        Catch e As Exception
            Console.WriteLine(e)
        End Try
    End Sub
End Module

En el ejemplo se usa el archivo transactions.xml.

<?xml version="1.0"?>  
<transactions>  
   <transaction>  
      <id>123456789</id>  
      <amount>1.00</amount>  
      <currency>USD</currency>  
      <time>2007-08-03T22:05:13-07:00</time>  
   </transaction>  
</transactions>  

Comentarios

Si el desplazamiento especificado en la cadena de entrada provocará un desbordamiento en la representación deserializada de DateTimeOffset, se produce una excepción FormatException.

Cuando se especifican más de siete dígitos para fracciones de segundo, el valor se redondea. Por ejemplo, 00000004 se convierte en 00000000 y 00000005 se convierte en 0000001.

Se aplica a

ToDateTimeOffset(String, String)

Convierte la String proporcionada en un equivalente de DateTimeOffset.

public:
 static DateTimeOffset ToDateTimeOffset(System::String ^ s, System::String ^ format);
public static DateTimeOffset ToDateTimeOffset (string s, string format);
static member ToDateTimeOffset : string * string -> DateTimeOffset
Public Shared Function ToDateTimeOffset (s As String, format As String) As DateTimeOffset

Parámetros

s
String

Cadena que se va a convertir.

format
String

Formato desde el que se convierte s. El parámetro de formato puede ser cualquier subconjunto de la recomendación del Consorcio W3C relativa al tipo XML dateTime. Para obtener más información, consulte la sección dateTime de la especificación del esquema XML. La cadena s se valida comparándola con este formato.

Devoluciones

DateTimeOffset

Equivalente de DateTimeOffset de la cadena proporcionada.

Excepciones

s o format es una cadena vacía o no tiene el formato especificado.

Ejemplos

En el ejemplo siguiente se muestra cómo leer una cadena de un archivo XML y usar el ToDateTimeOffset método para convertir la cadena en un DateTimeOffset tipo. La cadena de entrada se valida con el formato especificado antes de convertirse.

using System;
using System.Xml;

class Example
{
    static void Main()
    {
        // Create an XmlReader, read to the "time" element, and read contents as type string
        XmlReader reader = XmlReader.Create("transactions.xml");
        reader.ReadToFollowing("time");
        string time = reader.ReadElementContentAsString();

        // Specify a format against which time will be validated before conversion to DateTimeOffset
        // If time does not match the format, a FormatException will be thrown.
        // The specified format must be a subset of the W3C Recommendation for the XML dateTime type
        string format = "yyyy-MM-ddTHH:mm:sszzzzzzz";
        try
        {
            // Read the element contents as a string and covert to DateTimeOffset type
            DateTimeOffset transaction_time = XmlConvert.ToDateTimeOffset(time, format);
            Console.WriteLine(transaction_time);
        }
        catch(Exception e)
        {
            Console.WriteLine(e);
        }
    }
}
Imports System.Xml

Module Module1      
    Sub Main()
        ' Create an XmlReader, read to the "time" element, and read contents as type string
        Dim reader As XmlReader = XmlReader.Create("transactions.xml")
        reader.ReadToFollowing("time")
        Dim time As String = reader.ReadElementContentAsString()

        ' Specify a format against which time will be validated before conversion to DateTimeOffset
        ' If time does not match the format, a FormatException will be thrown.
        ' The specified format must be a subset of the W3C Recommendation for the XML dateTime type
        Dim format As String = "yyyy-MM-ddTHH:mm:sszzzzzzz"
        Try
            ' Read the element contents as a string and covert to DateTimeOffset type
            Dim transaction_time As DateTimeOffset = XmlConvert.ToDateTimeOffset(time, format)
            Console.WriteLine(transaction_time)
        Catch e As Exception
            Console.WriteLine(e)
        End Try
    End Sub
End Module

En el ejemplo se usa el archivo transactions.xml.

<?xml version="1.0"?>  
<transactions>  
   <transaction>  
      <id>123456789</id>  
      <amount>1.00</amount>  
      <currency>USD</currency>  
      <time>2007-08-03T22:05:13-07:00</time>  
   </transaction>  
</transactions>  

Comentarios

Si el desplazamiento especificado en la cadena de entrada provocará un desbordamiento en la representación deserializada de DateTimeOffset, se produce una excepción FormatException.

Cuando se especifican más de siete dígitos para fracciones de segundo, el valor se redondea. Por ejemplo, 00000004 se convierte en 00000000 y 00000005 se convierte en 0000001.

Se aplica a

ToDateTimeOffset(String)

Convierte la String proporcionada en un equivalente de DateTimeOffset.

public:
 static DateTimeOffset ToDateTimeOffset(System::String ^ s);
public static DateTimeOffset ToDateTimeOffset (string s);
static member ToDateTimeOffset : string -> DateTimeOffset
Public Shared Function ToDateTimeOffset (s As String) As DateTimeOffset

Parámetros

s
String

Cadena que se va a convertir. La cadena debe ajustarse a un subconjunto de la recomendación W3C para el tipo dateTime XML. Para obtener más información, consulte la sección dateTime de la especificación del esquema XML.

Devoluciones

DateTimeOffset

Equivalente de DateTimeOffset de la cadena proporcionada.

Excepciones

El argumento pasado a este método está fuera del intervalo de valores permitidos. Para obtener información sobre los valores permitidos, vea DateTimeOffset.

El argumento pasado a este método no se ajusta a un subconjunto de la recomendación del Consorcio W3C relativa al tipo XML dateTime. Para obtener más información, consulte la sección dateTime de la especificación del esquema XML.

Ejemplos

En el ejemplo siguiente se muestra cómo leer una cadena de un archivo XML y usar el ToDateTimeOffset método para convertir la cadena en un DateTimeOffset tipo.

using System;
using System.Xml;

class Example
{
    static void Main()
    {
        // Create an XmlReader, read to the "time" element, and read contents as type string
        XmlReader reader = XmlReader.Create("transactions.xml");
        reader.ReadToFollowing("time");
        string time = reader.ReadElementContentAsString();

        // Read the element contents as a string and covert to DateTimeOffset type
        // The format of time must be a subset of the W3C Recommendation for the XML dateTime type
        DateTimeOffset transaction_time = XmlConvert.ToDateTimeOffset(time);
        Console.WriteLine(transaction_time);
    }
}
Imports System.Xml

Module Module1
    Sub Main()
        ' Create an XmlReader, read to the "time" element, and read contents as type string
        Dim reader As XmlReader = XmlReader.Create("transactions.xml")
        reader.ReadToFollowing("time")
        Dim time As String = reader.ReadElementContentAsString()

        ' Read the element contents as a string and covert to DateTimeOffset type
    ' The format of time must be a subset of the W3C Recommendation for the XML dateTime type
        Dim transaction_time As DateTimeOffset = XmlConvert.ToDateTimeOffset(time)
        Console.WriteLine(transaction_time)
    End Sub
End Module

En el ejemplo se usa el archivo transactions.xml.

<?xml version="1.0"?>  
<transactions>  
   <transaction>  
      <id>123456789</id>  
      <amount>1.00</amount>  
      <currency>USD</currency>  
      <time>2007-08-03T22:05:13-07:00</time>  
   </transaction>  
</transactions>  

Comentarios

Cuando se especifican más de siete dígitos para fracciones de segundo, el valor se redondea. Por ejemplo, 00000004 se convierte en 00000000 y 00000005 se convierte en 0000001.

Se aplica a