Export (0) Print
Expand All

PersianCalendar.ToFourDigitYear Method

Converts the specified year to a four-digit year representation.

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

public override int ToFourDigitYear(
	int year
)

Parameters

year
Type: System.Int32

An integer from 1 through 9378 that represents the year to convert.

Return Value

Type: System.Int32
An integer that contains the four-digit representation of year.

ExceptionCondition
ArgumentOutOfRangeException

year is less than 0 or greater than 9378.

This method converts the year parameter to a four-digit year representation using the TwoDigitYearMax property. The return value is the upper boundary of a 100-year range that allows a two-digit year to be properly translated to a four-digit year. For example, if the 100-year range is from 1930 through 2029, then a two-digit value of 30 is interpreted as 1930 while a two-digit value of 29 is interpreted as 2029.

ToFourDigitYear supports either a two-digit year or a four-digit year. Passing a two-digit year value (less than 100) causes the method to convert the value to a four-digit value according to the TwoDigitYearMax value representing the appropriate century. If the application supplies a four-digit year value that is within the supported calendar range to ToFourDigitYear, the method returns the actual input value. If the application supplies a four-digit value that is outside the supported calendar range, or if it supplies a negative value, the method throws an exception.

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

using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
      PersianCalendar jc = new PersianCalendar();
      DateTime thisDate = DateTime.Now;

		//-------------------------------------------------------------------------------- 
		// Properties 
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n........... Selected Properties .....................\n");
      Console.Write("Eras:");
      foreach (int era in jc.Eras)
      {
         Console.WriteLine(" era = {0}", era);
      }
		//--------------------------------------------------------------------------------
      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: 
//       ........... Selected Properties ..................... 
//        
//       Eras: era = 1 
//        
//       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.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft