IslamicCalendar Class
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.
IslamicCalendar
is a subclass of Calendar
that that implements the Islamic civil and religious calendars.
[Android.Runtime.Register("android/icu/util/IslamicCalendar", ApiSince=24, DoNotGenerateAcw=true)]
public class IslamicCalendar : Android.Icu.Util.Calendar
[<Android.Runtime.Register("android/icu/util/IslamicCalendar", ApiSince=24, DoNotGenerateAcw=true)>]
type IslamicCalendar = class
inherit Calendar
- Inheritance
- Attributes
Remarks
IslamicCalendar
is a subclass of Calendar
that that implements the Islamic civil and religious calendars. It is used as the civil calendar in most of the Arab world and the liturgical calendar of the Islamic faith worldwide. This calendar is also known as the "Hijri" calendar, since it starts at the time of Mohammed's emigration (or "hijra") to Medinah on Thursday, July 15, 622 AD (Julian).
The Islamic calendar is strictly lunar, and thus an Islamic year of twelve lunar months does not correspond to the solar year used by most other calendar systems, including the Gregorian. An Islamic year is, on average, about 354 days long, so each successive Islamic year starts about 11 days earlier in the corresponding Gregorian year.
Each month of the calendar starts when the new moon's crescent is visible at sunset. However, in order to keep the time fields in this class synchronized with those of the other calendars and with local clock time, we treat days and months as beginning at midnight, roughly 6 hours after the corresponding sunset.
There are three main variants of the Islamic calendar in existence. The first is the <em>civil</em> calendar, which uses a fixed cycle of alternating 29- and 30-day months, with a leap day added to the last month of 11 out of every 30 years. This calendar is easily calculated and thus predictable in advance, so it is used as the civil calendar in a number of Arab countries. This is the default behavior of a newly-created IslamicCalendar
object.
The Islamic <em>religious</em> calendar and Saudi Arabia's <em>Umm al-Qura</em> calendar, however, are based on the <em>observation</em> of the crescent moon. It is thus affected by the position at which the observations are made, seasonal variations in the time of sunset, the eccentricities of the moon's orbit, and even the weather at the observation site. This makes it impossible to calculate in advance, and it causes the start of a month in the religious calendar to differ from the civil calendar by up to three days.
Using astronomical calculations for the position of the sun and moon, the moon's illumination, and other factors, it is possible to determine the start of a lunar month with a fairly high degree of certainty. However, these calculations are extremely complicated and thus slow, so most algorithms, including the one used here, are only approximations of the true astronomical calculations. At present, the approximations used in this class are fairly simplistic; they will be improved in later versions of the code.
Like the Islamic religious calendar, <em>Umm al-Qura</em> is also based on the sighting method of the crescent moon but is standardized by Saudi Arabia.
The fixed-cycle <em>civil</em> calendar is used.
This class should not be subclassed.
IslamicCalendar usually should be instantiated using android.icu.util.Calendar#getInstance(ULocale)
passing in a ULocale
with the tag "@calendar=islamic"
or "@calendar=islamic-civil"
or "@calendar=islamic-umalqura"
.
Java documentation for android.icu.util.IslamicCalendar
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
IslamicCalendar() |
Constructs a default |
IslamicCalendar(Date) |
Constructs an |
IslamicCalendar(Int32, Int32, Int32, Int32, Int32, Int32) |
Constructs an |
IslamicCalendar(Int32, Int32, Int32) |
Constructs an |
IslamicCalendar(IntPtr, JniHandleOwnership) | |
IslamicCalendar(Locale) |
Constructs an |
IslamicCalendar(TimeZone, Locale) |
Constructs an |
IslamicCalendar(TimeZone, ULocale) |
Constructs an |
IslamicCalendar(TimeZone) |
Constructs an |
IslamicCalendar(ULocale) |
Constructs an |
Fields
Am |
Value of the |
AmPm |
Obsolete.
Field number for |
April |
Value of the |
August |
Value of the |
BaseFieldCount |
The number of fields defined by this class. (Inherited from Calendar) |
Date |
Obsolete.
Field number for |
DayOfMonth |
Obsolete.
Field number for |
DayOfWeek |
Obsolete.
Field number for |
DayOfWeekInMonth |
Obsolete.
Field number for |
DayOfYear |
Obsolete.
Field number for |
December |
Value of the |
DhuAlHijjah |
Constant for Dhu al-Hijjah, the 12th month of the Islamic year. |
DhuAlQidah |
Constant for Dhu al-Qi'dah, the 11th month of the Islamic year. |
DowLocal |
Obsolete.
<strong>[icu]</strong> Field number for |
DstOffset |
Obsolete.
Field number for |
EpochJulianDay |
The Julian day of the epoch, that is, January 1, 1970 on the Gregorian calendar. (Inherited from Calendar) |
Era |
Obsolete.
Field number for |
ExtendedYear |
Obsolete.
<strong>[icu]</strong> Field number for |
February |
Value of the |
Friday |
Value of the |
GreatestMinimum |
Limit type for |
Hour |
Obsolete.
Field number for |
HourOfDay |
Obsolete.
Field number for |
InternallySet |
Value of the time stamp |
IsLeapMonth |
<strong>[icu]</strong> Field indicating whether or not the current month is a leap month. (Inherited from Calendar) |
Jan11JulianDay |
The Julian day of the Gregorian epoch, that is, January 1, 1 on the Gregorian calendar. (Inherited from Calendar) |
January |
Value of the |
JulianDay |
Obsolete.
<strong>[icu]</strong> Field number for |
July |
Value of the |
Jumada1 |
Constant for Jumada al-awwal or (Jumada I), the 5th month of the Islamic year. |
Jumada2 |
Constant for Jumada al-thani or (Jumada II), the 6th month of the Islamic year. |
June |
Value of the |
LeastMaximum |
Limit type for |
March |
Value of the |
MaxFieldCount |
The maximum number of fields possible. (Inherited from Calendar) |
Maximum |
Limit type for |
MaxJulian |
The maximum supported Julian day. (Inherited from Calendar) |
MaxMillis |
The maximum supported epoch milliseconds. (Inherited from Calendar) |
May |
Value of the |
Millisecond |
Obsolete.
Field number for |
MillisecondsInDay |
Obsolete.
<strong>[icu]</strong> Field number for |
Minimum |
Limit type for |
MinimumUserStamp |
If the time stamp |
MinJulian |
The minimum supported Julian day. (Inherited from Calendar) |
MinMillis |
The minimum supported epoch milliseconds. (Inherited from Calendar) |
Minute |
Obsolete.
Field number for |
Monday |
Value of the |
Month |
Obsolete.
Field number for |
Muharram |
Constant for Muharram, the 1st month of the Islamic year. |
November |
Value of the |
October |
Value of the |
OneDay |
The number of milliseconds in one day. (Inherited from Calendar) |
OneHour |
The number of milliseconds in one hour. (Inherited from Calendar) |
OneMinute |
The number of milliseconds in one minute. (Inherited from Calendar) |
OneSecond |
The number of milliseconds in one second. (Inherited from Calendar) |
OneWeek |
The number of milliseconds in one week. (Inherited from Calendar) |
Pm |
Value of the |
Rabi1 |
Constant for Rabi' al-awwal (or Rabi' I), the 3rd month of the Islamic year. |
Rabi2 |
Constant for Rabi' al-thani or (Rabi' II), the 4th month of the Islamic year. |
Rajab |
Constant for Rajab, the 7th month of the Islamic year. |
Ramadan |
Constant for Ramadan, the 9th month of the Islamic year. |
ResolveRemap |
Value to OR against resolve table field values for remapping. (Inherited from Calendar) |
Safar |
Constant for Safar, the 2nd month of the Islamic year. |
Saturday |
Value of the |
Second |
Obsolete.
Field number for |
September |
Value of the |
Shaban |
Constant for Sha'ban, the 8th month of the Islamic year. |
Shawwal |
Constant for Shawwal, the 10th month of the Islamic year. |
Sunday |
Value of the |
Thursday |
Value of the |
Tuesday |
Value of the |
Undecimber |
Value of the |
Unset |
Value of the time stamp |
WalltimeFirst |
Obsolete.
<strong>[icu]</strong>Option used by |
WalltimeLast |
Obsolete.
<strong>[icu]</strong>Option used by |
WalltimeNextValid |
Obsolete.
<strong>[icu]</strong>Option used by |
Wednesday |
Value of the |
WeekOfMonth |
Obsolete.
Field number for |
WeekOfYear |
Obsolete.
Field number for |
Year |
Obsolete.
Field number for |
YearWoy |
Obsolete.
<strong>[icu]</strong> Field number for |
ZoneOffset |
Obsolete.
Field number for |
Properties
Class |
Returns the runtime class of this |
FieldCount |
<strong>[icu]</strong> Returns the number of fields defined by this calendar. (Inherited from Calendar) |
FirstDayOfWeek |
Returns what the first day of the week is,
where 1 = |
GregorianDayOfMonth |
Returns the day of month (1-based) on the Gregorian calendar as
computed by |
GregorianDayOfYear |
Returns the day of year (1-based) on the Gregorian calendar as
computed by |
GregorianMonth |
Returns the month (0-based) on the Gregorian calendar as computed by
|
GregorianYear |
Returns the extended year on the Gregorian calendar as computed by
|
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
IsWeekend |
<strong>[icu]</strong> Returns true if this Calendar's current date and time is in the weekend in this calendar system. (Inherited from Calendar) |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
Lenient |
Tell whether date/time interpretation is to be lenient. -or- Specify whether or not date/time interpretation is to be lenient. (Inherited from Calendar) |
MinimalDaysInFirstWeek |
Returns what the minimal days required in the first week of the year are. -or- Sets what the minimal days required in the first week of the year are. (Inherited from Calendar) |
PeerReference | (Inherited from Object) |
RepeatedWallTimeOption |
<strong>[icu]</strong>Gets the behavior for handling wall time repeating multiple times at negative time zone offset transitions. -or- <strong>[icu]</strong>Sets the behavior for handling wall time repeating multiple times at negative time zone offset transitions. (Inherited from Calendar) |
SkippedWallTimeOption |
<strong>[icu]</strong>Gets the behavior for handling skipped wall time at positive time zone offset transitions. -or- <strong>[icu]</strong>Sets the behavior for handling skipped wall time at positive time zone offset transitions. (Inherited from Calendar) |
ThresholdClass | |
ThresholdType | |
Time |
Returns this Calendar's current time. -or- Sets this Calendar's current time with the given Date. (Inherited from Calendar) |
TimeInMillis |
Returns this Calendar's current time as a long. -or- Sets this Calendar's current time from the given long value. (Inherited from Calendar) |
TimeZone |
Returns the time zone. -or- Sets the time zone with the given time zone value. (Inherited from Calendar) |
Type |
<strong>[icu]</strong> Returns the calendar type name string for this Calendar object. (Inherited from Calendar) |
Methods
Add(CalendarField, Int32) |
Add a signed amount to a specified field, using this calendar's rules. (Inherited from Calendar) |
After(Object) |
Compares the time field records. (Inherited from Calendar) |
Before(Object) |
Compares the time field records. (Inherited from Calendar) |
Clear() |
Clears the values of all the time fields. (Inherited from Calendar) |
Clear(CalendarField) |
Clears the value in the given time field. (Inherited from Calendar) |
Clone() |
Overrides Cloneable (Inherited from Calendar) |
CompareTo(Calendar) |
Compares the times (in millis) represented by two
|
Complete() |
Fills in any unset fields in the time field list. (Inherited from Calendar) |
ComputeFields() |
Converts the current millisecond time value |
ComputeGregorianFields(Int32) |
Compute the Gregorian calendar year, month, and day of month from the Julian day. (Inherited from Calendar) |
ComputeGregorianMonthStart(Int32, Int32) |
Compute the Julian day of a month of the Gregorian calendar. (Inherited from Calendar) |
ComputeJulianDay() |
Compute the Julian day number as specified by this calendar's fields. (Inherited from Calendar) |
ComputeMillisInDay() |
Compute the milliseconds in the day from the fields. (Inherited from Calendar) |
ComputeTime() |
Converts the current field values in |
ComputeZoneOffset(Int64, Int32) |
This method can assume EXTENDED_YEAR has been set. (Inherited from Calendar) |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
FieldDifference(Date, CalendarField) |
<strong>[icu]</strong> Returns the difference between the given time and the time this calendar object is set to. (Inherited from Calendar) |
FieldName(CalendarField) |
Returns a string name for a field, for debugging and exceptions. (Inherited from Calendar) |
Get(CalendarField) |
Returns the value for a given time field. (Inherited from Calendar) |
GetActualMaximum(CalendarField) |
Returns the maximum value that this field could have, given the current date. (Inherited from Calendar) |
GetActualMinimum(CalendarField) |
Returns the minimum value that this field could have, given the current date. (Inherited from Calendar) |
GetCalculationType() | |
GetDateTimeFormat(DateFormatStyle, Int32, Locale) |
<strong>[icu]</strong> Returns a |
GetDateTimeFormat(DateFormatStyle, Int32, ULocale) |
<strong>[icu]</strong> Returns a |
GetDisplayName(Locale) |
Returns the name of this calendar in the language of the given locale. (Inherited from Calendar) |
GetDisplayName(ULocale) |
Returns the name of this calendar in the language of the given locale. (Inherited from Calendar) |
GetFieldResolutionTable() |
Returns the field resolution array for this calendar. (Inherited from Calendar) |
GetGreatestMinimum(CalendarField) |
Returns the highest minimum value for the given field if varies. (Inherited from Calendar) |
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
GetLeastMaximum(CalendarField) |
Returns the lowest maximum value for the given field if varies. (Inherited from Calendar) |
GetLimit(CalendarField, Int32) |
Returns a limit for a field. (Inherited from Calendar) |
GetMaximum(CalendarField) |
Returns the maximum value for the given time field. (Inherited from Calendar) |
GetMinimum(CalendarField) |
Returns the minimum value for the given time field. (Inherited from Calendar) |
GetStamp(CalendarField) |
Returns the timestamp of a field. (Inherited from Calendar) |
GetWeekData() | (Inherited from Calendar) |
HandleComputeFields(Int32) |
Subclasses may override this method to compute several fields specific to each calendar system. (Inherited from Calendar) |
HandleComputeJulianDay(Int32) |
Subclasses may override this. (Inherited from Calendar) |
HandleComputeMonthStart(Int32, Int32, Boolean) | |
HandleCreateFields() |
Subclasses that use additional fields beyond those defined in
|
HandleGetDateFormat(String, Locale) |
Creates a |
HandleGetDateFormat(String, String, Locale) |
Creates a |
HandleGetDateFormat(String, ULocale) |
Creates a |
HandleGetExtendedYear() | |
HandleGetLimit(CalendarField, Int32) | |
HandleGetMonthLength(Int32, Int32) |
Returns the number of days in the given month of the given extended year of this calendar system. (Inherited from Calendar) |
HandleGetYearLength(Int32) |
Returns the number of days in the given extended year of this calendar system. (Inherited from Calendar) |
InternalGet(CalendarField, Int32) |
Returns the value for a given time field, or return the given default value if the field is not set. (Inherited from Calendar) |
InternalGet(CalendarField) |
Returns the value for a given time field. (Inherited from Calendar) |
InternalGetTimeInMillis() |
Returns the current milliseconds without recomputing. (Inherited from Calendar) |
InternalSet(CalendarField, Int32) |
Set a field to a value. (Inherited from Calendar) |
InvokeIsWeekend(Date) |
<strong>[icu]</strong> Returns true if the given date and time is in the weekend in this calendar system. (Inherited from Calendar) |
IsEquivalentTo(Calendar) |
<strong>[icu]</strong> Returns true if the given Calendar object is equivalent to this one. (Inherited from Calendar) |
IsSet(CalendarField) |
Determines if the given time field has a value set. (Inherited from Calendar) |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
NewerField(Int32, Int32) |
Returns the field that is newer, either defaultField, or alternateField. (Inherited from Calendar) |
NewestStamp(Int32, Int32, Int32) |
Returns the newest stamp of a given range of fields. (Inherited from Calendar) |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
PinField(CalendarField) |
Adjust the specified field so that it is within the allowable range for the date to which this calendar is set. (Inherited from Calendar) |
PrepareGetActual(CalendarField, Boolean) |
Prepare this calendar for computing the actual minimum or maximum. (Inherited from Calendar) |
ResolveFields(Int32[][][]) |
Given a precedence table, return the newest field combination in the table, or -1 if none is found. (Inherited from Calendar) |
Roll(CalendarField, Boolean) |
Rolls (up/down) a single unit of time on the given field. (Inherited from Calendar) |
Roll(CalendarField, Int32) |
Rolls (up/down) a specified amount time on the given field. (Inherited from Calendar) |
Set(CalendarField, Int32) |
Sets the time field with the given value. (Inherited from Calendar) |
Set(Int32, Int32, Int32, Int32, Int32, Int32) |
Sets the values for the fields year, month, date, hour, minute, and second. (Inherited from Calendar) |
Set(Int32, Int32, Int32, Int32, Int32) |
Sets the values for the fields year, month, date, hour, and minute. (Inherited from Calendar) |
Set(Int32, Int32, Int32) |
Sets the values for the fields year, month, and date. (Inherited from Calendar) |
SetCalculationType(IslamicCalendar+CalculationType) | |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
SetWeekData(Calendar+WeekData) | (Inherited from Calendar) |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
UnregisterFromRuntime() | (Inherited from Object) |
ValidateField(CalendarField, Int32, Int32) |
Validate a single field of this calendar given its minimum and maximum allowed value. (Inherited from Calendar) |
ValidateField(CalendarField) |
Validate a single field of this calendar. (Inherited from Calendar) |
ValidateFields() |
Ensure that each field is within its valid range by calling |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
WeekNumber(Int32, Int32, Int32) |
Returns the week number of a day, within a period. (Inherited from Calendar) |
WeekNumber(Int32, Int32) |
Returns the week number of a day, within a period. (Inherited from Calendar) |
Explicit Interface Implementations
IComparable.CompareTo(Object) | (Inherited from Calendar) |
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |
Extension Methods
JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
JavaCast<TResult>(IJavaObject) | |
GetJniTypeName(IJavaPeerable) |
Gets the JNI name of the type of the instance |
JavaAs<TResult>(IJavaPeerable) |
Try to coerce |
TryJavaCast<TResult>(IJavaPeerable, TResult) |
Try to coerce |