XmlConvert.ToDateTimeOffset 方法

定义

将提供的 String 转换为等效的 DateTimeOffset

重载

ToDateTimeOffset(String, String[])

将提供的 String 转换为等效的 DateTimeOffset

ToDateTimeOffset(String, String)

将提供的 String 转换为等效的 DateTimeOffset

ToDateTimeOffset(String)

将提供的 String 转换为等效的 DateTimeOffset

ToDateTimeOffset(String, String[])

Source:
XmlConvert.cs
Source:
XmlConvert.cs
Source:
XmlConvert.cs

将提供的 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 中的每个格式均可以是 XML DateTime 类型的 W3C 建议的任何子集。 (有关详细信息,请参阅 XML 架构规范的 dateTime 部分。)将根据这些格式中的一个格式验证字符串 s

返回

与提供的字符串等效的 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。

如果为秒的小数部分指定了 7 位以上的数字,则值将四舍五入。 例如,00000004变为 0000000,00000005变为0000001。

适用于

ToDateTimeOffset(String, String)

Source:
XmlConvert.cs
Source:
XmlConvert.cs
Source:
XmlConvert.cs

将提供的 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 的格式。 该格式参数可以是 XML DateTime 类型的 W3C 建议的任何子集。 (有关详细信息,请参阅 XML 架构规范的 dateTime 部分。)将根据此格式验证字符串 s

返回

与提供的字符串等效的 DateTimeOffset

例外

snull

sformat 是一个空字符串或者未采用指定的格式。

示例

下面的示例演示如何从 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。

如果为秒的小数部分指定了 7 位以上的数字,则值将四舍五入。 例如,00000004变为 0000000,00000005变为0000001。

适用于

ToDateTimeOffset(String)

Source:
XmlConvert.cs
Source:
XmlConvert.cs
Source:
XmlConvert.cs

将提供的 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

要转换的字符串。 字符串必须符合 XML dateTime 类型的 W3C 建议的子集。 有关详细信息,请参阅 XML 架构规范的 dateTime 部分。

返回

与提供的字符串等效的 DateTimeOffset

例外

snull

传递给此方法的参数不在允许值的范围内。 有关允许值的信息,请参见 DateTimeOffset

传递给此方法的参数不符合 XML DateTime 类型的 W3C 建议的子集。 有关详细信息,请参阅 XML 架构规范的 dateTime 部分。

示例

下面的示例演示如何从 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>

注解

如果为秒的小数部分指定了 7 位以上的数字,则值将四舍五入。 例如,00000004变为 0000000,00000005变为0000001。

适用于