This documentation is archived and is not being maintained.

CalendarAlgorithmType Enumeration

Note: This enumeration is new in the .NET Framework version 2.0.

Specifies whether a calendar is solar-based, lunar-based, or lunisolar-based.

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

public enum CalendarAlgorithmType
/** @attribute ComVisibleAttribute(true) */ 
public enum CalendarAlgorithmType
public enum CalendarAlgorithmType

 Member nameDescription
LunarCalendarA lunar-based calendar. 
LunisolarCalendarA lunisolar-based calendar. 
SolarCalendarA solar-based calendar. 
UnknownAn unknown calendar basis. 

A date calculation for a particular calendar depends on whether the calendar is solar-based, lunar-based, or lunisolar-based. For example, the GregorianCalendar, JapaneseCalendar, and JulianCalendar classes are solar-based; the HijriCalendar and UmAlQuraCalendar classes are lunar-based; and the HebrewCalendar and JapaneseLunisolarCalendar classes are lunisolar-based, which means that they use solar calculations for the year and lunar calculations for the month and day.

A CalendarAlgorithmType value, which is returned by a calendar member such as the Calendar.AlgorithmType property, specifies the foundation for a particular calendar.

The following code example demonstrates the AlgorithmType property and the CalendarAlgorithmType enumeration.

// This example demonstrates the Calendar.AlgorithmType property and
// CalendarAlgorithmType enumeration.

using System;
using System.Globalization;

class Sample 
    public static void Main() 
    GregorianCalendar grCal = new GregorianCalendar();
    HijriCalendar     hiCal = new HijriCalendar();
                      jaCal = new JapaneseLunisolarCalendar();

    static void Display(Calendar c)
    string name = c.ToString().PadRight(50, '.');
    Console.WriteLine("{0} {1}", name, c.AlgorithmType);
This code example produces the following results:

System.Globalization.GregorianCalendar............ SolarCalendar
System.Globalization.HijriCalendar................ LunarCalendar
System.Globalization.JapaneseLunisolarCalendar.... LunisolarCalendar


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0