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

KoreanCalendar.AddMonths 方法

2013/12/13

返回与指定 DateTime 相距指定月数的 DateTime

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

public override DateTime AddMonths(
	DateTime time,
	int months
)

参数

time
类型: System.DateTime
DateTime,将向其添加月数。
months
类型: System.Int32
要添加的月数。

返回值

类型: System.DateTime
将指定的月数添加到指定的 DateTime 中时得到的 DateTime

异常条件
ArgumentOutOfRangeException

months 小于 -120000。

- 或 -

months 大于 120000。

如果得到的日数值不是所得年月中的有效日期,则得到的 DateTime 的日部分会受到影响。该部分将更改为所得年月中的最后一个有效日期。如果得到的月数值超出了指定 DateTime 的年范围,那么得到的 DateTime 的年数值部分也会受影响。此实现仅支持当前纪元。因此,如果所得年份未处于指定 DateTime 所在的纪元,则会引发 ArgumentException。结果 DateTime 的天的时间部分与指定的 DateTime 保持相同。

例如,如果指定的月份是 10 月(有 31 天),指定日期为该月的 31 日,months 参数的值为 6,则结果年份是指定年份的下一年,结果月份是 4 月,结果日期是 30 日,即 4 月的最后一天。

如果 months 参数的值为负,则结果 DateTime 早于指定的 DateTime

所返回的 DateTime 值的 Kind 属性始终等于 DateTimeKind.Unspecified。通过调用 DateTime.SpecifyKind 方法,可保留 time 参数的 Kind 属性,如下例所示。


returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);


下面的代码示例显示了朝鲜日历中 DateTime 的几个组成部分的值。


using System;
using System.Globalization;


public class Example
{

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime(2002, 4, 3, new GregorianCalendar());

      // Creates an instance of the KoreanCalendar.
      KoreanCalendar myCal = new KoreanCalendar();

      // Displays the values of the DateTime.
      outputBlock.Text += String.Format("April 3, 2002 of the Gregorian calendar equals the following in the Korean calendar:") + "\n";
      DisplayValues(outputBlock, myCal, myDT);

      // Adds two years and ten months.
      myDT = myCal.AddYears(myDT, 2);
      myDT = myCal.AddMonths(myDT, 10);

      // Displays the values of the DateTime.
      outputBlock.Text += "After adding two years and ten months:" + "\n";
      DisplayValues(outputBlock, myCal, myDT);

   }

   public static void DisplayValues(System.Windows.Controls.TextBlock outputBlock, Calendar myCal, DateTime myDT)
   {
      outputBlock.Text += String.Format("   Era:        {0}", myCal.GetEra(myDT)) + "\n";
      outputBlock.Text += String.Format("   Year:       {0}", myCal.GetYear(myDT)) + "\n";
      outputBlock.Text += String.Format("   Month:      {0}", myCal.GetMonth(myDT)) + "\n";
      outputBlock.Text += String.Format("   DayOfYear:  {0}", myCal.GetDayOfYear(myDT)) + "\n";
      outputBlock.Text += String.Format("   DayOfMonth: {0}", myCal.GetDayOfMonth(myDT)) + "\n";
      outputBlock.Text += String.Format("   DayOfWeek:  {0}", myCal.GetDayOfWeek(myDT)) + "\n";
      outputBlock.Text += "\n";
   }

}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar equals the following in the Korean calendar:
   Era:        1
   Year:       4335
   Month:      4
   DayOfYear:  93
   DayOfMonth: 3
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       4338
   Month:      2
   DayOfYear:  34
   DayOfMonth: 3
   DayOfWeek:  Thursday

*/


Windows Phone OS

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

Windows Phone

显示: