CalendarAlgorithmType Enumeration

CalendarAlgorithmType Enumeration


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

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

public enum CalendarAlgorithmType

Member nameDescription

A lunar-based calendar.


A lunisolar-based calendar.


A solar-based calendar.


An 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, thus using 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


.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft