📜  C#中的DateTimeOffset.ToOffset()方法

📅  最后修改于: 2021-05-29 17:35:07             🧑  作者: Mango

DateTimeOffset.ToOffset(TimeSpan)方法用于将当前DateTimeOffset对象的值转换为由偏移值指定的日期和时间。

下面的程序说明了DateTimeOffset.ToOffset()方法的用法:

范例1:

// C# program to demonstrate the
// DateTimeOffset.ToOffset(TimeSpan)
// Method
using System;
using System.Globalization;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // creating object of  DateTimeOffset
            DateTimeOffset offset = new DateTimeOffset(2007,
                    6, 1, 7, 55, 0, new TimeSpan(-5, 0, 0));
  
            // Converts the value of 
            // the current DateTimeOffset
            // object to the date and time 
            // specified by an offset value.
            // instance using ToOffset() method
            DateTimeOffset value = offset.ToOffset(new TimeSpan(-5, 1, 0));
  
            // Display the time
            Console.WriteLine("DateTimeOffset is {0}", value);
        }
  
        catch (ArgumentOutOfRangeException e) 
        {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
  
        catch (ArgumentException e) 
        {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
输出:
DateTimeOffset is 06/01/2007 07:56:00 -04:59

示例2:对于ArgumentOutOfRangeException

// C# program to demonstrate the
// DateTimeOffset.ToOffset(TimeSpan)
// Method
using System;
using System.Globalization;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // creating object of  DateTimeOffset
            DateTimeOffset offset = DateTimeOffset.MaxValue;
  
            // Converts the value of the
            // current DateTimeOffset
            // object to the date and time 
            // specified by an offset value.
            // instance using ToOffset() method
            DateTimeOffset value = offset.ToOffset(new TimeSpan(5, 1, 0));
  
            // Display the time
            Console.WriteLine("DateTimeOffset is {0}", value);
        }
  
        catch (ArgumentOutOfRangeException e) 
        {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
  
        catch (ArgumentException e) 
        {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
输出:
Exception Thrown: System.ArgumentOutOfRangeException

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.datetimeoffset.tooffset?view=netframework-4.7.2