XmlConvert.ToDateTimeOffset Метод

Определение

Преобразует предоставленное значение String в эквивалентное значение DateTimeOffset.

Перегрузки

ToDateTimeOffset(String, String[])

Преобразует предоставленное значение String в эквивалентное значение DateTimeOffset.

ToDateTimeOffset(String, String)

Преобразует предоставленное значение String в эквивалентное значение DateTimeOffset.

ToDateTimeOffset(String)

Преобразует предоставленное значение String в эквивалентное значение DateTimeOffset.

ToDateTimeOffset(String, String[])

Преобразует предоставленное значение String в эквивалентное значение 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

Параметры

s
String

Преобразуемая строка.

formats
String[]

Массив форматов, из которого можно преобразовать параметр s. Каждый формат в параметре formats может быть любым подмножеством в соответствии с рекомендациями консорциума W3C для типа XML dateTime. (Дополнительные сведения см. в разделе dateTime спецификации схемы XML.) Строка s проверяется по одному из этих форматов.

Возвращаемое значение

DateTimeOffset

Эквивалент указанной строки DateTimeOffset.

Примеры

В следующем примере показано, как считывать строку из XML-файла и использовать ToDateTimeOffset метод для преобразования строки в DateTimeOffset тип. Перед преобразованием входная строка должна проверяться на соответствие одному из указанных форматов.

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

В примере используется файл 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>  

Комментарии

Если смещение, указанное в входной строке, вызовет переполнение десериализованного представления DateTimeOffset, создается исключение FormatException.

Если в дробных секундах указано более семи цифр, значение округляется. Например, 00000004 становится 0000000, а 00000005 становится 0000001.

Применяется к

ToDateTimeOffset(String, String)

Преобразует предоставленное значение String в эквивалентное значение 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

Параметры

s
String

Преобразуемая строка.

format
String

Формат, из которого преобразуется параметр s. Параметр формата может быть любым поднабором в соответствии с рекомендацией W3C для типа XML dateTime. (Дополнительные сведения см. в разделе dateTime спецификации схемы XML.) Строка s проверяется по этому формату.

Возвращаемое значение

DateTimeOffset

Эквивалент указанной строки DateTimeOffset.

Исключения

s имеет значение null.

Параметр s или format является пустой строкой или его формат не соответствует указанному.

Примеры

В следующем примере показано, как считывать строку из XML-файла и использовать ToDateTimeOffset метод для преобразования строки в DateTimeOffset тип. Входная строка проверяется на соответствие указанному формату перед преобразованием.

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

В примере используется файл 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>  

Комментарии

Если смещение, указанное в входной строке, вызовет переполнение десериализованного представления DateTimeOffset, создается исключение FormatException.

Если в дробных секундах указано более семи цифр, значение округляется. Например, 00000004 становится 0000000, а 00000005 становится 0000001.

Применяется к

ToDateTimeOffset(String)

Преобразует предоставленное значение String в эквивалентное значение 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

Параметры

s
String

Преобразуемая строка. Строка должна соответствовать подмножеству рекомендации W3C для типа даты и времени XML. Дополнительные сведения см. в разделе dateTime спецификации схемы XML.

Возвращаемое значение

DateTimeOffset

Эквивалент указанной строки DateTimeOffset.

Исключения

s имеет значение null.

Аргумент, переданный этому методу, находится вне диапазона допустимых значений. Сведения о допустимых значениях см. в разделе DateTimeOffset.

Аргумент, переданный этому методу, не соответствует подмножеству рекомендаций W3C для типа XML dateTime. Дополнительные сведения см. в разделе dateTime спецификации схемы XML.

Примеры

В следующем примере показано, как считывать строку из XML-файла и использовать ToDateTimeOffset метод для преобразования строки в DateTimeOffset тип.

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

В примере используется файл 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>  

Комментарии

Если в дробных секундах указано более семи цифр, значение округляется. Например, 00000004 становится 0000000, а 00000005 становится 0000001.

Применяется к