Export (0) Print
Expand All

PersianCalendar.AddMonths Method

Returns a DateTime object that is offset the specified number of months from the specified DateTime object.

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

public override DateTime AddMonths(
	DateTime time,
	int months
)

Parameters

time
Type: System.DateTime
The DateTime to which to add months.
months
Type: System.Int32
The positive or negative number of months to add.

Return Value

Type: System.DateTime
A DateTime object that represents the date yielded by adding the number of months specified by the months parameter to the date specified by the time parameter.

ExceptionCondition
ArgumentException

The resulting DateTime is outside the supported range.

ArgumentOutOfRangeException

months is less than -120,000 or greater than 120,000.

The Kind property of the returned DateTime value always equals DateTimeKind.Unspecified. You can preserve the Kind property of the time parameter by calling the DateTime.SpecifyKind method, as the following example shows.


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


The following code example demonstrates the use of the AddMonths method.


// This example demonstrates the members of the PersianCalendar class.

using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
		//--------------------------------------------------------------------------------
		// Get today's date.
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n................. Today ...........................\n");
      PersianCalendar jc = new PersianCalendar();
      DateTime thisDate = DateTime.Now;

		// Display the current date using the Gregorian and Persian calendars.
	   Console.WriteLine("Today is:");
      Console.WriteLine("   {0:dddd}, {0} in the Gregorian calendar.", thisDate);
      Console.WriteLine("   {0}, {1}/{2}/{3} {4}:{5}:{6} in the Persian calendar.", 
                        jc.GetDayOfWeek(thisDate), 
                        jc.GetMonth(thisDate), 
                        jc.GetDayOfMonth(thisDate), 
                        jc.GetYear(thisDate), 
                        jc.GetHour(thisDate), 
                        jc.GetMinute(thisDate), 
                        jc.GetSecond(thisDate));
		//--------------------------------------------------------------------------------
		// Fields
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n............... Fields .............................\n");
      Console.WriteLine("PersianEra = {0}", PersianCalendar.PersianEra);
		//--------------------------------------------------------------------------------
		// Properties
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n............... Properties .........................\n");
      Console.Write("Eras:");
      foreach (int era in jc.Eras)
      {
         Console.WriteLine(" era = {0}", era);
      }
		//--------------------------------------------------------------------------------
      Console.WriteLine("\nGregorian Date Range Supported by the Persian Calendar:");
      Console.WriteLine("   From {0:G}", jc.MinSupportedDateTime);
      Console.WriteLine("   To {0:G}", jc.MaxSupportedDateTime);
		//--------------------------------------------------------------------------------
      Console.WriteLine("\nTwoDigitYearMax = {0}", jc.TwoDigitYearMax);
		//--------------------------------------------------------------------------------
		// Methods
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n............ Selected Methods .......................\n");

		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDaysInMonth: days = {0}", 
                        jc.GetDaysInMonth( thisDate.Year, thisDate.Month, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDaysInYear: days = {0}", 
                        jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetLeapMonth: leap month (if any) = {0}", 
                        jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra));
		//-------------------------------------------------------------
      Console.WriteLine("GetMonthsInYear: months in a year = {0}", 
                        jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapDay: This is a leap day = {0}", 
                        jc.IsLeapDay(thisDate.Year, thisDate.Month, thisDate.Day, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapMonth: This is a leap month = {0}", 
                        jc.IsLeapMonth(thisDate.Year, thisDate.Month, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}", 
                        jc.IsLeapYear(1370, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------

		// Get the 4-digit year for a year whose last two digits are 99. The 4-digit year 
		// depends on the current value of the TwoDigitYearMax property.

      Console.WriteLine("ToFourDigitYear:");
      Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", 
                         jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
      jc.TwoDigitYearMax = thisDate.Year;
      Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", 
                        jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
    }
}
// The example displays the following output:
//       ................. Today ...........................
//       
//       Today is:
//          Tuesday, 3/20/2012 7:54:00 AM in the Gregorian calendar.
//          Tuesday, 1/1/1391 7:54:0 in the Persian calendar.
//       
//       ............... Fields .............................
//       
//       PersianEra = 1
//       
//       ............... Properties .........................
//       
//       Eras: era = 1
//       
//       Gregorian Date Range Supported by the Persian Calendar:
//          From 3/21/0622 12:00:00 AM
//          To 12/31/9999 11:59:59 PM
//       
//       TwoDigitYearMax = 99
//       
//       ............ Selected Methods .......................
//       
//       GetDayOfYear: day = 1
//       GetDaysInMonth: days = 31
//       GetDaysInYear: days = 365
//       GetLeapMonth: leap month (if any) = 0
//       GetMonthsInYear: months in a year = 12
//       IsLeapDay: This is a leap day = False
//       IsLeapMonth: This is a leap month = False
//       IsLeapYear: 1370 is a leap year = True
//       ToFourDigitYear:
//         If TwoDigitYearMax = 99, ToFourDigitYear(99) = 99
//         If TwoDigitYearMax = 2012, ToFourDigitYear(99) = 1999


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2014 Microsoft