CalendarAlgorithmType Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Specifies whether a calendar is solar-based, lunar-based, or lunisolar-based.
public enum class CalendarAlgorithmType
public enum CalendarAlgorithmType
[System.Runtime.InteropServices.ComVisible(true)]
public enum CalendarAlgorithmType
type CalendarAlgorithmType =
[<System.Runtime.InteropServices.ComVisible(true)>]
type CalendarAlgorithmType =
Public Enum CalendarAlgorithmType
- Inheritance
- 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.
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
*/
// 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
*/
' This example demonstrates the Calendar.AlgorithmType property and
' CalendarAlgorithmType enumeration.
Imports System.Globalization
Class Sample
Public Shared Sub Main()
Dim grCal As New GregorianCalendar()
Dim hiCal As New HijriCalendar()
Dim jaCal As New JapaneseLunisolarCalendar()
Display(grCal)
Display(hiCal)
Display(jaCal)
End Sub
Shared Sub Display(c As Calendar)
Dim name As String = c.ToString().PadRight(50, "."c)
Console.WriteLine("{0} {1}", name, c.AlgorithmType)
End Sub
End Class
'
'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.