JulianCalendar.AddMonths(DateTime, Int32) 方法   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public:
 override DateTime AddMonths(DateTime time, int months);public override DateTime AddMonths (DateTime time, int months);override this.AddMonths : DateTime * int -> DateTimePublic Overrides Function AddMonths (time As DateTime, months As Integer) As DateTime参数
- months
- Int32
要添加的月数。
返回
将指定月数添加到指定的 DateTime 中时得到的 DateTime。
例外
生成的 DateTime 超出了支持的范围。
示例
下面的代码示例以 Julian 日历形式显示 的 DateTime 多个组件的值。
using namespace System;
using namespace System::Globalization;
void DisplayValues( Calendar^ myCal, DateTime myDT )
{
   Console::WriteLine( "   Era:        {0}", myCal->GetEra( myDT ) );
   Console::WriteLine( "   Year:       {0}", myCal->GetYear( myDT ) );
   Console::WriteLine( "   Month:      {0}", myCal->GetMonth( myDT ) );
   Console::WriteLine( "   DayOfYear:  {0}", myCal->GetDayOfYear( myDT ) );
   Console::WriteLine( "   DayOfMonth: {0}", myCal->GetDayOfMonth( myDT ) );
   Console::WriteLine( "   DayOfWeek:  {0}", myCal->GetDayOfWeek( myDT ) );
   Console::WriteLine();
}
int main()
{
   
   // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
   DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
   
   // Creates an instance of the JulianCalendar.
   JulianCalendar^ myCal = gcnew JulianCalendar;
   
   // Displays the values of the DateTime.
   Console::WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Julian calendar:" );
   DisplayValues( myCal, myDT );
   
   // Adds two years and ten months.
   myDT = myCal->AddYears( myDT, 2 );
   myDT = myCal->AddMonths( myDT, 10 );
   
   // Displays the values of the DateTime.
   Console::WriteLine( "After adding two years and ten months:" );
   DisplayValues( myCal, myDT );
}
/*
This code produces the following output.
April 3, 2002 of the Gregorian calendar equals the following in the Julian calendar:
   Era:        1
   Year:       2002
   Month:      3
   DayOfYear:  80
   DayOfMonth: 21
   DayOfWeek:  Wednesday
After adding two years and ten months:
   Era:        1
   Year:       2005
   Month:      1
   DayOfYear:  21
   DayOfMonth: 21
   DayOfWeek:  Thursday
*/
using System;
using System.Globalization;
public class SamplesJulianCalendar  {
   public static void Main()  {
      // 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 JulianCalendar.
      JulianCalendar myCal = new JulianCalendar();
      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Julian calendar:" );
      DisplayValues( myCal, myDT );
      // Adds two years and ten months.
      myDT = myCal.AddYears( myDT, 2 );
      myDT = myCal.AddMonths( myDT, 10 );
      // Displays the values of the DateTime.
      Console.WriteLine( "After adding two years and ten months:" );
      DisplayValues( myCal, myDT );
   }
   public static void DisplayValues( Calendar myCal, DateTime myDT )  {
      Console.WriteLine( "   Era:        {0}", myCal.GetEra( myDT ) );
      Console.WriteLine( "   Year:       {0}", myCal.GetYear( myDT ) );
      Console.WriteLine( "   Month:      {0}", myCal.GetMonth( myDT ) );
      Console.WriteLine( "   DayOfYear:  {0}", myCal.GetDayOfYear( myDT ) );
      Console.WriteLine( "   DayOfMonth: {0}", myCal.GetDayOfMonth( myDT ) );
      Console.WriteLine( "   DayOfWeek:  {0}", myCal.GetDayOfWeek( myDT ) );
      Console.WriteLine();
   }
}
/*
This code produces the following output.
April 3, 2002 of the Gregorian calendar equals the following in the Julian calendar:
   Era:        1
   Year:       2002
   Month:      3
   DayOfYear:  80
   DayOfMonth: 21
   DayOfWeek:  Wednesday
After adding two years and ten months:
   Era:        1
   Year:       2005
   Month:      1
   DayOfYear:  21
   DayOfMonth: 21
   DayOfWeek:  Thursday
*/
Imports System.Globalization
Public Class SamplesJulianCalendar   
   Public Shared Sub Main()
      ' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())
      ' Creates an instance of the JulianCalendar.
      Dim myCal As New JulianCalendar()
      ' Displays the values of the DateTime.
      Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Julian calendar:")
      DisplayValues(myCal, myDT)
      ' Adds two years and ten months.
      myDT = myCal.AddYears(myDT, 2)
      myDT = myCal.AddMonths(myDT, 10)
      ' Displays the values of the DateTime.
      Console.WriteLine("After adding two years and ten months:")
      DisplayValues(myCal, myDT)
   End Sub
   Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
      Console.WriteLine("   Era:        {0}", myCal.GetEra(myDT))
      Console.WriteLine("   Year:       {0}", myCal.GetYear(myDT))
      Console.WriteLine("   Month:      {0}", myCal.GetMonth(myDT))
      Console.WriteLine("   DayOfYear:  {0}", myCal.GetDayOfYear(myDT))
      Console.WriteLine("   DayOfMonth: {0}", myCal.GetDayOfMonth(myDT))
      Console.WriteLine("   DayOfWeek:  {0}", myCal.GetDayOfWeek(myDT))
      Console.WriteLine()
   End Sub
End Class
'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar equals the following in the Julian calendar:
'   Era:        1
'   Year:       2002
'   Month:      3
'   DayOfYear:  80
'   DayOfMonth: 21
'   DayOfWeek:  Wednesday
'
'After adding two years and ten months:
'   Era:        1
'   Year:       2005
'   Month:      1
'   DayOfYear:  21
'   DayOfMonth: 21
'   DayOfWeek:  Thursday
注解
如果生成的日期不是结果 DateTime 年份的月中的有效日期,则结果的日期部分将受到影响。 它更改为结果年份中结果月份的最后一个有效日期。 如果生成的月份在指定的 DateTime年份之外,则生成的DateTime年份部分将受到影响。 此实现仅支持当前时代。 因此, ArgumentException 如果生成的年份在指定的 DateTime的纪元之外,则引发 。 生成的 DateTime 的一天中的时间部分与指定的 DateTime保持相同。
例如,如果指定的月份是 10 月,它有 31 天,指定的日期是该月的第 31 天,参数的 months 值为 6,则生成的年份比指定年份多一,生成的月份是 4 月,生成的日期是 4 月的第 30 天,即 4 月的最后一天。
如果 参数的 months 值为负,则生成的 DateTime 早于指定的 DateTime。
              Kind返回DateTime的值的 属性始终等于 DateTimeKind.Unspecified。 可以通过调用 DateTime.SpecifyKind 方法保留 Kind 参数的 time 属性,如以下示例所示。
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)