此方法用于返回一个新的DateTime,它将指定的TimeSpan的值添加到此实例的值。
句法:
public DateTime Add (TimeSpan value);
在此,值是正或负的时间间隔。
返回值:该方法返回一个对象,该对象的值是此实例表示的日期和时间与value表示的时间间隔之和。
例外:如果生成的DateTime小于MinValue或大于MaxValue,则此方法将提供ArgumentOutOfRangeException 。
下面的程序说明了DateTime.Add(TimeSpan)方法的用法:
范例1:
// C# program to demonstrate the
// DateTime.Add(TimeSpan) Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// creating object of DateTime
DateTime date1 = new DateTime(2010, 1, 1,
8, 0, 15);
// creating object of TimeSpan
TimeSpan duration = new TimeSpan(36, 0, 0, 0);
// adding the TimeSpan of 36 days
// using Add() method;
DateTime date2 = date1.Add(duration);
// Display the date1
System.Console.WriteLine("DateTime before "+
"operation: {0:y} {0:dd}", date1);
// Display the date2
System.Console.WriteLine("\nDateTime after"+
" operation: {0:y} {0:dd}", date2);
}
catch (ArgumentOutOfRangeException e)
{
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
DateTime before operation: 2010 January 01
DateTime after operation: 2010 February 06
示例2:对于ArgumentOutOfRangeException
// C# program to demonstrate the
// DateTime.Add(TimeSpan) Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// creating object of DateTime
// and initialize with MinValue
DateTime date1 = DateTime.MinValue;
// Display the date1
Console.WriteLine("DateTime before "+
"operation: {0:y} {0:dd}", date1);
// creating object of TimeSpan
TimeSpan duration = new TimeSpan(-36, 0, 0, 0);
// adding the TimeSpan of 36 days
// using Add() method;
DateTime date2 = date1.Add(duration);
// Display the date2
Console.WriteLine("\nDateTime after"+
" operation: {0:y} {0:dd}", date2);
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine("\nThe resulting DateTime"+
" is less than the MinValue ");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
DateTime before operation: 0001 January 01
The resulting DateTime is less than the MinValue
Exception Thrown: System.ArgumentOutOfRangeException
笔记:
- 执行日期算术时,Add方法考虑leap年和一个月中的天数。
- 此方法不会更改此DateTime的值。而是返回一个新的DateTime,其值是此操作的结果。
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.datetime.add?view=netframework-4.7.2