CalendarAlgorithmType Enumeration

 

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

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

[ComVisibleAttribute(true)]
public enum class CalendarAlgorithmType

Member nameDescription
LunarCalendar

A lunar-based calendar.

LunisolarCalendar

A lunisolar-based calendar.

SolarCalendar

A solar-based calendar.

Unknown

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.

using namespace System;
using namespace System::Globalization;

namespace CalendarTypeExample
{
    static void Display(Calendar^ genericCalendar)
    {
        String^ calendarName = 
            genericCalendar->ToString()->PadRight(50, '.');
		Console::WriteLine("{0} {1}", calendarName, genericCalendar->GetType());
    }
}

int main() 
{
    GregorianCalendar^ gregorianCalendar = gcnew GregorianCalendar();
    HijriCalendar^ hijriCalendar = gcnew HijriCalendar();
    JapaneseLunisolarCalendar^ japaneseCalendar = 
        gcnew JapaneseLunisolarCalendar();
    CalendarTypeExample::Display(gregorianCalendar);
    CalendarTypeExample::Display(hijriCalendar);
    CalendarTypeExample::Display(japaneseCalendar);
    return 0;
}

/* This code example produces the following output.

System.Globalization.GregorianCalendar............ System.Globalization.GregorianCalendar
System.Globalization.HijriCalendar................ System.Globalization.HijriCalendar
System.Globalization.JapaneseLunisolarCalendar.... System.Globalization.JapaneseLunisolarCalendar

*/

.NET Framework
Available since 2.0
Return to top
Show: