Edit

Share via


UmAlQuraCalendar.GetYear(DateTime) Method

Definition

Calculates the year of a date represented by a specified DateTime.

public:
 override int GetYear(DateTime time);
public override int GetYear (DateTime time);
override this.GetYear : DateTime -> int
Public Overrides Function GetYear (time As DateTime) As Integer

Parameters

time
DateTime

The date value to read. The UmAlQuraCalendar class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 11/16/2077 23:59:59 (Gregorian date).

Returns

An integer that represents the year specified by the time parameter.

Exceptions

time is outside the range supported by this calendar.

Examples

The following example displays the date ranges supported by the UmAlQuraCalendar class in both the Gregorian and Um Al Qura calendars. The GetYear method is used to retrieve the year of the minimum and maximum supported dates in the Um Al Qura calendar if it is not the current culture's current calendar.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      Calendar cal = new UmAlQuraCalendar();
      DateTime minDate = cal.MinSupportedDateTime;
      DateTime maxDate = cal.MaxSupportedDateTime;

      Console.WriteLine("Range of the Um Al Qura calendar:");
      // Is UmAlQuraCalendar the current calendar?
      if (DateTimeFormatInfo.CurrentInfo.Calendar.ToString().Contains("UmAlQura")) {
         Calendar greg = new GregorianCalendar();
         Console.WriteLine("   Minimum: {0:d2}/{1:d2}/{2:d4} {3:HH:mm:ss} Gregorian, {3:MM/dd/yyyy HH:mm:ss} Um Al Qura",
                           greg.GetMonth(minDate), greg.GetDayOfMonth(minDate),
                           greg.GetYear(minDate), minDate);
         Console.WriteLine("   Maximum: {0:d2}/{1:d2}/{2:d4} {3:HH:mm:ss} Gregorian, {3:MM/dd/yyyy HH:mm:ss} Um Al Qura",
                           greg.GetMonth(maxDate), greg.GetDayOfMonth(maxDate),
                           greg.GetYear(maxDate), maxDate);
      }
      // Is Gregorian the current calendar?
      else if (DateTimeFormatInfo.CurrentInfo.Calendar.ToString().Contains("Gregorian")) {
         Console.WriteLine("   Minimum: {0:d} {0:HH:mm:ss} Gregorian, {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} Um Al Qura",
                           minDate, cal.GetMonth(minDate), cal.GetDayOfMonth(minDate),
                           cal.GetYear(minDate));
         Console.WriteLine("   Maximum: {0:d} {0:HH:mm:ss} Gregorian, {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} Um Al Qura",
                           maxDate, cal.GetMonth(maxDate), cal.GetDayOfMonth(maxDate),
                           cal.GetYear(maxDate));
      }
      // Display ranges if some other calendar is current.
      else {
         GregorianCalendar greg = new GregorianCalendar();
         Console.WriteLine("   Minimum: {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} " +
                           "Gregorian, {4:d2}/{5:d2}/{6:d4} {0:HH:mm:ss} Um Al Qura",
                           minDate, greg.GetMonth(minDate), greg.GetDayOfMonth(minDate),
                           greg.GetYear(minDate), cal.GetMonth(minDate), cal.GetDayOfMonth(minDate),
                           cal.GetYear(minDate));
         Console.WriteLine("   Maximum: {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} " +
                           "Gregorian, {4:d2}/{5:d2}/{6:d4} {0:HH:mm:ss} Um Al Qura",
                           maxDate, greg.GetMonth(maxDate), greg.GetDayOfMonth(maxDate),
                           greg.GetYear(maxDate), cal.GetMonth(maxDate), cal.GetDayOfMonth(maxDate),
                           cal.GetYear(maxDate));
      }
   }
}
// The example displays output similar to the following:
//    Range of the Um Al Qura calendar:
//       Minimum: 4/30/1900 00:00:00 Gregorian, 01/01/1318 00:00:00 Um Al Qura
//       Maximum: 5/13/2029 23:59:59 Gregorian, 12/29/1450 23:59:59 Um Al Qura
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cal As New UmAlQuraCalendar()
      Dim minDate As Date = cal.MinSupportedDateTime
      Dim maxDate As Date = cal.MaxSupportedDateTime
      
      Console.WriteLine("Range of the Um Al Qura calendar:")
      ' Is UmAlQuraCalendar the current calendar?
      If DateTimeFormatInfo.CurrentInfo.Calendar.ToString().Contains("UmAlQura") Then
         Dim greg As New GregorianCalendar()
         Console.WriteLine("   Minimum: {0:d2}/{1:d2}/{2:d4} {3:HH:mm:ss} Gregorian, {3:MM/dd/yyyy HH:mm:ss} Um Al Qura",
                           greg.GetMonth(minDate), greg.GetDayOfMonth(minDate),
                           greg.GetYear(minDate), minDate)
         Console.WriteLine("   Maximum: {0:d2}/{1:d2}/{2:d4} {3:HH:mm:ss} Gregorian, {3:MM/dd/yyyy HH:mm:ss} Um Al Qura",
                           greg.GetMonth(maxDate), greg.GetDayOfMonth(maxDate),
                           greg.GetYear(maxDate), maxDate)
      ' Is Gregorian the current calendar?
      ElseIf DateTimeFormatInfo.CurrentInfo.Calendar.ToString().Contains("Gregorian") Then         
         Console.WriteLine("   Minimum: {0:d} {0:HH:mm:ss} Gregorian, {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} Um Al Qura",
                           minDate, cal.GetMonth(minDate), cal.GetDayOfMonth(minDate),
                           cal.GetYear(minDate))
         Console.WriteLine("   Maximum: {0:d} {0:HH:mm:ss} Gregorian, {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} Um Al Qura",
                           maxDate, cal.GetMonth(maxDate), cal.GetDayOfMonth(maxDate),
                           cal.GetYear(maxDate))
      ' Display ranges if some other calendar is current.
      Else
         Dim greg As New GregorianCalendar()          
         Console.WriteLine("   Minimum: {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} " + 
                           "Gregorian, {4:d2}/{5:d2}/{6:d4} {0:HH:mm:ss} Um Al Qura",
                           minDate, greg.GetMonth(minDate), greg.GetDayOfMonth(minDate), 
                           greg.GetYear(minDate), cal.GetMonth(minDate), cal.GetDayOfMonth(minDate),
                           cal.GetYear(minDate))
         Console.WriteLine("   Maximum: {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} " + 
                           "Gregorian, {4:d2}/{5:d2}/{6:d4} {0:HH:mm:ss} Um Al Qura",
                           maxDate, greg.GetMonth(maxDate), greg.GetDayOfMonth(maxDate), 
                           greg.GetYear(maxDate), cal.GetMonth(maxDate), cal.GetDayOfMonth(maxDate),
                           cal.GetYear(maxDate))
      End If
   End Sub
End Module
' The example displays output similar to the following:
'    Range of the Um Al Qura calendar:
'       Minimum: 4/30/1900 00:00:00 Gregorian, 01/01/1318 00:00:00 Um Al Qura
'       Maximum: 5/13/2029 23:59:59 Gregorian, 12/29/1450 23:59:59 Um Al Qura

Applies to