信息
您所需的主题如下所示。但此主题未包含在此库中。

DateTimeOffset.AddDays 方法

2013/12/13

将由整数和小数部分组成的指定天数与当前的 DateTimeOffset 对象相加。

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

public DateTimeOffset AddDays(
	double days
)

参数

days
类型: System.Double
由整数和小数部分组成的天数。此数值可以是负数也可以是正数。

返回值

类型: System.DateTimeOffset
一个对象,其值为当前的 DateTimeOffset 对象所表示的日期和时间与 days 所表示的天数之和。

异常条件
ArgumentOutOfRangeException

所生成的 DateTimeOffset 值小于 MinValue

- 或 -

所生成的 DateTimeOffset 值大于 MaxValue

days 参数的小数部分是以天为单位时的小数部分。例如,4.5 等效于 4 天 12 小时 0 分 0 秒 0 毫秒。days 参数被舍入到最近的毫秒。

说明注意:

此方法返回一个新的 DateTimeOffset 对象。它不会通过将 days 与其日期和时间相加来修改当前对象的值。

因为 DateTimeOffset 对象不表示特定时区中的日期和时间,所以 AddDays 方法在执行日期和时间运算时不会考虑特定时区的调整规则。

如果将不足一天的时间间隔转换为小数部分,则可能会发生精度损失。如果这会产生问题,则可以使用 Add 方法,通过这种方法,可以在一个方法调用中指定多种时间间隔,而不需要将时间间隔转换为天的小数部分。

下面的示例使用 AddDays 方法列出了 2008 年 3 月中表示星期一(工作周的第一天)的日期。


DateTimeOffset workDay = new DateTimeOffset(2008, 3, 1, 9, 0, 0,
                   DateTimeOffset.Now.Offset);
int month = workDay.Month;
// Start with the first Monday of the month
if (workDay.DayOfWeek != DayOfWeek.Monday)
{
   if (workDay.DayOfWeek == DayOfWeek.Sunday)
      workDay = workDay.AddDays(1);
   else
      workDay = workDay.AddDays(8 - (int)workDay.DayOfWeek);
}
outputBlock.Text += String.Format("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay) + "\n";
// Add one week to the current date 
do
{
   outputBlock.Text += String.Format("   {0:dddd}, {0:MMMM}{0: d}", workDay) + "\n";
   workDay = workDay.AddDays(7);
} while (workDay.Month == month);
// The example produces the following output:
//    Beginning of Work Week In March 2008:
//       Monday, March 3
//       Monday, March 10
//       Monday, March 17
//       Monday, March 24
//       Monday, March 31             


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: