GregorianCalendar Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
GregorianCalendar — это конкретный подкласс Calendar и предоставляет стандартную систему календаря, используемую большинством мира.
[Android.Runtime.Register("java/util/GregorianCalendar", DoNotGenerateAcw=true)]
public class GregorianCalendar : Java.Util.Calendar
[<Android.Runtime.Register("java/util/GregorianCalendar", DoNotGenerateAcw=true)>]
type GregorianCalendar = class
inherit Calendar
- Наследование
- Атрибуты
Комментарии
GregorianCalendar — это конкретный подкласс Calendar и предоставляет стандартную систему календаря, используемую большинством мира.
GregorianCalendar — гибридный календарь, который поддерживает системы календаря Джулиана и Григориана с поддержкой единой прерывности, которая соответствует по умолчанию григорианской дате, когда григорианский календарь был создан (15 октября 1582 года в некоторых странах, позже в других). Дата переключение может быть изменена вызывающим путем вызова #setGregorianChange(Date) setGregorianChange().
Исторически, в тех странах, которые приняли григорианский календарь первым, 4 октября 1582 года (Джулиан), таким образом, последовал 15 октября 1582 года (Григориан). Этот календарь правильно моделирует эту модель. Перед григорианским переключение реализует GregorianCalendar джулианский календарь. Единственное различие между григорианским и джулианским календарем является правило високосного года. Календарь Джулиана указывает високосные годы каждые четыре года, в то время как григорианский календарь опустит годы века, которые не являются делимыми на 400.
GregorianCalendar
<
>реализует em proleptic</em> грегорианские и джулианские календари. То есть даты вычисляются путем экстраполирования текущих правил бесконечно назад и вперед во времени. В результате GregorianCalendar можно использовать все годы для создания значимых и согласованных результатов. Однако даты, полученные с использованием GregorianCalendar , исторически точны только с 1 марта 4 AD, когда были приняты современные правила календаря Джулиана. До этой даты правила високосного года применялись нерегулярно, и до 45 лет до 45 Г. Хулианский календарь даже не существовал.
До учреждения григорианского календаря новый год был 25 марта. Чтобы избежать путаницы, этот календарь всегда использует 1 января. При желании можно внести корректировку вручную для дат, предшествующих григорианскому изменению, и которые падают в период с 1 января по 24 марта.
<h2>"week_and_year">Неделя года и недели</h2>
Значения, вычисляемые для Calendar#WEEK_OF_YEAR WEEK_OF_YEAR диапазона полей от 1 до 53. Первая неделя календарного года является самым ранним семидневным периодом, начиная с Calendar#getFirstDayOfWeek() getFirstDayOfWeek() этого года, который содержит по крайней мере Calendar#getMinimalDaysInFirstWeek() getMinimalDaysInFirstWeek() дни с этого года. Таким образом, он зависит от значений getMinimalDaysInFirstWeek(), getFirstDayOfWeek()и дня недели 1 января. Недели между неделями 1 из одного года и недели 1 из следующего года (эксклюзивные) нумеруются последовательно от 2 до 52 или 53 (за исключением годовых, участвующих в Julian-Gregorian переходе).
Значения getFirstDayOfWeek() инициализированы getMinimalDaysInFirstWeek() с помощью зависимых от языкового стандарта ресурсов при создании GregorianCalendar. "iso8601_compatible_setting">Определение недели совместимо со стандартом ISO 8601 при getFirstDayOfWeek()MONDAY наличии и getMinimalDaysInFirstWeek() равно 4, значения которых используются в языковых стандартах, где стандарт предпочтителен. Эти значения можно явно задать путем вызова Calendar#setFirstDayOfWeek(int) setFirstDayOfWeek() и Calendar#setMinimalDaysInFirstWeek(int) setMinimalDaysInFirstWeek().
"week_year"><em week year>/em< синхронизирован с циклом>WEEK_OF_YEAR. Все недели между первой и последней неделями (включительно) имеют то же <значение em>week year</em> . Таким образом, первые и последние дни недели могут иметь разные значения календарного года.
Например, 1 января 1998 г. — четверг. Если getFirstDayOfWeek() задано MONDAY значение getMinimalDaysInFirstWeek() 4 (стандартная совместимость ISO 8601), то неделя 1 из 1998 начинается 29 декабря 1997 года и заканчивается 4 января 1998 года. Год недели составляет 1998 год за последние три дня календарного года 1997 года. Если, однако, getFirstDayOfWeek() то SUNDAYнеделя 1 из 1998 начинается 4 января 1998 года и заканчивается 10 января 1998 года; первые три дня 1998 года затем являются частью недели 53 из 1997 года, а их недельный год — 1997.
<h3>Неделя месяца</h3>
Значения, вычисляемые для WEEK_OF_MONTH диапазона полей от 0 до 6. Неделя 1 месяца (дни с WEEK_OF_MONTH = 1) является самым ранним набором по крайней мере getMinimalDaysInFirstWeek() смежных дней в этом месяце, заканчивающимся на день до getFirstDayOfWeek(). В отличие от недели 1 года, неделя 1 из месяца может быть короче 7 дней, не нужно начинать getFirstDayOfWeek()и не включать дни предыдущего месяца. Дни месяца до недели 1 имеют WEEK_OF_MONTH значение 0.
Например, если getFirstDayOfWeek() имеет SUNDAY значение getMinimalDaysInFirstWeek() 4, то первая неделя января 1998 года — воскресенье, 4 января по субботу, 10 января. В эти дни имеется WEEK_OF_MONTH 1. Четверг, 1 января по субботу, 3 января имеет WEEK_OF_MONTH значение 0. Если getMinimalDaysInFirstWeek() измениться на 3, то 1 января по 3 января имеет WEEK_OF_MONTH значение 1.
<Значения полей> по умолчанию h3</h3>
Метод clear задает неопределенные поля календаря.
GregorianCalendar использует следующее значение по умолчанию для каждого поля календаря, если его значение не определено.
<table class="striped" style="text-align: left; ширина: 66%;"><заголовок style="display:none">GregorianCalendar default field values</caption><thead><tr><th scope="col" Field >/<>th th scope="col"<> Value </><th/tr/thead><tbody><tr><>< th scope="row">ERA<></th td/td>AD<></tr><th><scope="row">YEAR</th><td>1970</td></tr><tr><th scope="row">MONTH</th><td/td>JANUARY<></><><tr tr th scope="row">DAY_OF_MONTH</><th td>1</td/><><tr tr><th scope="row">DAY_OF_WEEK<></th td>the first day of week</td><></tr tr><th scope="row">WEEK_OF_MONTH</><th td>0</td></tr><tr><th scope="row">DAY_OF_WEEK_IN_MONTH</th><td/td>1<></tr tr><><th scope="row">AM_PM</><th td>AM</td/><tr tr><th scope="row"><>HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND</th td/><td>0<></tr></tbody></table br><>Значения по умолчанию не применимы для полей, не перечисленных выше.
<strong>Example:</strong><blockquote>
// get the supported ids for GMT-08:00 (Pacific Standard Time)
String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
// if no ids were returned, something is wrong. get out.
if (ids.length == 0)
System.exit(0);
// begin output
System.out.println("Current Time");
// create a Pacific Standard Time time zone
SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
// set up rules for Daylight Saving Time
pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
// create a GregorianCalendar with the Pacific Daylight time zone
// and the current date and time
Calendar calendar = new GregorianCalendar(pdt);
Date trialTime = new Date();
calendar.setTime(trialTime);
// print out a bunch of interesting things
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
System.out.println("Current Time, with hour reset to 3");
calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
calendar.set(Calendar.HOUR, 3);
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours
</blockquote>
Добавлено в версии 1.1.
Java документации по java.util.GregorianCalendar.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Конструкторы
| Имя. | Описание |
|---|---|
| GregorianCalendar() |
Создает значение по умолчанию с использованием текущего времени в часовом поясе по умолчанию |
| GregorianCalendar(Int32, Int32, Int32, Int32, Int32, Int32) |
Создает ГригорианCalendar с заданной датой и временем для часового пояса по умолчанию с языковым стандартом по умолчанию. |
| GregorianCalendar(Int32, Int32, Int32, Int32, Int32) |
|
| GregorianCalendar(Int32, Int32, Int32) |
|
| GregorianCalendar(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
| GregorianCalendar(Locale) |
Создает объект |
| GregorianCalendar(TimeZone, Locale) |
Создает объект |
| GregorianCalendar(TimeZone) |
Создает объект |
Поля
| Имя. | Описание |
|---|---|
| Ad |
|
| AllStyles |
Устаревшие.
Описатель стиля для |
| Am |
|
| AmPm |
Устаревшие.
Номер поля для |
| April |
|
| August |
|
| Bc |
|
| Date |
Устаревшие.
Номер поля для |
| DayOfMonth |
Устаревшие.
Номер поля для |
| DayOfWeek |
Устаревшие.
Номер поля для |
| DayOfWeekInMonth |
Устаревшие.
Номер поля для |
| DayOfYear |
Устаревшие.
Номер поля для |
| December |
|
| DstOffset |
Устаревшие.
Номер поля для |
| Era |
Устаревшие.
Номер поля для |
| February |
|
| FieldCount |
Число различающихся полей, распознанных |
| Friday |
|
| Hour |
Устаревшие.
Номер поля для |
| HourOfDay |
Устаревшие.
Номер поля для |
| January |
|
| July |
|
| June |
|
| Long |
Устаревшие.
Описатель стиля и |
| LongFormat |
Описатель стиля и |
| LongStandalone |
Описатель |
| March |
|
| May |
|
| Millisecond |
Устаревшие.
Номер поля для |
| Minute |
Устаревшие.
Номер поля для |
| Monday |
|
| Month |
Устаревшие.
Номер поля для |
| NarrowFormat |
Описатель стиля и |
| NarrowStandalone |
Описатель стиля для |
| November |
|
| October |
|
| Pm |
|
| Saturday |
|
| Second |
Устаревшие.
Номер поля для |
| September |
|
| Short |
Устаревшие.
Описатель стиля и |
| ShortFormat |
Описатель стиля и |
| ShortStandalone |
Описатель |
| Sunday |
|
| Thursday |
|
| Tuesday |
|
| Undecimber |
|
| Wednesday |
|
| WeekOfMonth |
Устаревшие.
Номер поля для |
| WeekOfYear |
Устаревшие.
Номер поля для |
| Year |
Устаревшие.
Номер поля для |
| ZoneOffset |
Устаревшие.
Номер поля для |
Свойства
| Имя. | Описание |
|---|---|
| AreFieldsSet |
Значение True, если |
| CalendarType |
Возвращает тип календаря этого |
| Class |
Возвращает класс среды выполнения этого |
| Fields |
Значения полей календаря для текущего заданного времени для этого календаря. (Унаследовано от Calendar) |
| FirstDayOfWeek |
Возвращает первый день недели; e. (Унаследовано от Calendar) |
| GregorianChange |
Возвращает дату изменения григорианского календаря. -или- Задает |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsTimeSet |
Значение True, если значение |
| IsWeekDateSupported |
Возвращает значение |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| Lenient |
Указывает, является ли интерпретация даты и времени лентой. (Унаследовано от Calendar) |
| MinimalDaysInFirstWeek |
Получает минимальные дни, необходимые в первой неделе года; e. (Унаследовано от Calendar) |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| Time |
|
| TimeInMillis |
Возвращает значение времени этого календаря в миллисекундах. (Унаследовано от Calendar) |
| TimeZone |
Возвращает часовой пояс. -или- задает часовой пояс с заданным значением часового пояса. (Унаследовано от Calendar) |
| WeeksInWeekYear |
Возвращает количество недель в недельном году, представленное этим |
| WeekYear |
Возвращает год недели, представленный этим |
Методы
| Имя. | Описание |
|---|---|
| Add(CalendarField, Int32) |
Добавляет указанное (подписанное) время в заданное поле календаря на основе правил календаря. |
| After(Object) |
Возвращает значение |
| Before(Object) |
|
| Clear() |
Задает все значения полей календаря и значение времени (миллисекундное смещение от "#Epoch">Эпоха) этого |
| Clear(CalendarField) |
Задает заданное значение поля календаря и значение времени (миллисекундное смещение от "#Epoch">Эпоха) этого |
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Calendar) |
| CompareTo(Calendar) |
Сравнивает значения времени (миллисекунда смещения из "#Epoch">Эпоха"), представленного двумя |
| Complete() |
Заполняет все поля без набора в полях календаря. (Унаследовано от Calendar) |
| ComputeFields() |
Преобразует значение времени (миллисекунда смещения из эпохи) в значения полей календаря. |
| ComputeTime() |
Преобразует значения полей календаря в значение времени (смещение миллисекунда из эпохи). |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| From(ZonedDateTime) |
Получает экземпляр с языковым |
| Get(CalendarField) |
Возвращает значение заданного поля календаря. (Унаследовано от Calendar) |
| GetActualMaximum(CalendarField) |
Возвращает максимальное значение, которое может иметь указанное поле календаря, учитывая значение времени этого |
| GetActualMinimum(CalendarField) |
Возвращает минимальное значение, которое может иметь указанное поле календаря, учитывая значение времени этого |
| GetDisplayName(Int32, Int32, Locale) |
Возвращает строковое представление значения календаря |
| GetDisplayNames(Int32, Int32, Locale) |
|
| GetGreatestMinimum(CalendarField) |
Возвращает максимальное минимальное значение для заданного поля календаря данного |
| GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
| GetLeastMaximum(CalendarField) |
Возвращает наименьшее максимальное значение для заданного поля календаря данного |
| GetMaximum(CalendarField) |
Возвращает максимальное значение для заданного поля календаря данного |
| GetMinimum(CalendarField) |
Возвращает минимальное значение для заданного поля календаря данного |
| InternalGet(Int32) |
Возвращает значение заданного поля календаря. (Унаследовано от Calendar) |
| IsLeapYear(Int32) |
Определяет, является ли данный год високосным годом. |
| IsSet(CalendarField) |
Определяет, имеет ли заданное поле календаря набор значений, включая случаи, которые были заданы внутренними полями вычислений, инициируемых вызовом |
| JavaFinalize() |
Устаревшие.
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| Roll(CalendarField, Boolean) |
Добавляет или вычитает (вверх или вниз) одну единицу времени в заданном поле времени без изменения больших полей. |
| Roll(CalendarField, Int32) |
Добавляет указанную (подписанную) сумму в указанное поле календаря без изменения больших полей. (Унаследовано от Calendar) |
| Set(CalendarField, Int32) |
Задает заданное поле календаря заданному значению. (Унаследовано от Calendar) |
| Set(Int32, Int32, Int32, Int32, Int32, Int32) |
Задает значения полей |
| Set(Int32, Int32, Int32, Int32, Int32) |
Задает значения для полей календаря , |
| Set(Int32, Int32, Int32) |
Задает значения для полей |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| SetWeekDate(Int32, Int32, Int32) |
Задает дату этого |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToInstant() |
|
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| ToZonedDateTime() |
Преобразует этот объект |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя. | Описание |
|---|---|
| IComparable.CompareTo(Object) |
|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
Методы расширения
| Имя. | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |