Edit

Share via


CalendarAlgorithmType Enum

Definition

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

C#
public enum CalendarAlgorithmType
C#
[System.Runtime.InteropServices.ComVisible(true)]
public enum CalendarAlgorithmType
Inheritance
CalendarAlgorithmType
Attributes

Fields

Name Value Description
Unknown 0

An unknown calendar basis.

SolarCalendar 1

A solar-based calendar.

LunarCalendar 2

A lunar-based calendar.

LunisolarCalendar 3

A lunisolar-based calendar.

Examples

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

C#
// 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();
    JapaneseLunisolarCalendar
                      jaCal = new JapaneseLunisolarCalendar();
    Display(grCal);
    Display(hiCal);
    Display(jaCal);
    }

    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

*/

Remarks

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.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1