GregorianCalendar Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
GregorianCalendar é uma subclasse concreta e Calendar fornece o sistema de calendário padrão usado pela maior parte do mundo.
[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
- Herança
- Atributos
Comentários
GregorianCalendar é uma subclasse concreta e Calendar fornece o sistema de calendário padrão usado pela maior parte do mundo.
GregorianCalendar é um calendário híbrido que dá suporte aos sistemas de calendário juliano e gregoriano com o suporte de uma única descontinuidade, que corresponde por padrão à data gregoriana quando o calendário gregoriano foi instituído (15 de outubro de 1582 em alguns países, posteriormente em outros). A data de substituição pode ser alterada pelo chamador chamando #setGregorianChange(Date) setGregorianChange().
Historicamente, naqueles países que adotaram o calendário gregoriano primeiro, 4 de outubro de 1582 (Juliano) foi seguido por 15 de outubro de 1582 (gregoriano). Este calendário modela isso corretamente. Antes da substituição gregoriana, GregorianCalendar implementa o calendário juliano. A única diferença entre o gregoriano e o calendário juliano é a regra do ano bissexto. O calendário juliano especifica anos bissextos a cada quatro anos, enquanto o calendário gregoriano omite anos de século que não são divisível por 400.
GregorianCalendarimplementa em calendários <prolépticos>/em< Gregoriano e Juliano.> Ou seja, as datas são computadas extrapolando as regras atuais indefinidamente muito para trás e para frente no tempo. Como resultado, GregorianCalendar pode ser usado durante todos os anos para gerar resultados significativos e consistentes. No entanto, as datas obtidas usando GregorianCalendar são historicamente precisas apenas a partir de 1º de março, 4 AD em diante, quando as regras modernas do calendário juliano foram adotadas. Antes dessa data, as regras do ano bissexto eram aplicadas irregularmente, e antes de 45 a.C. o calendário juliano nem existia.
Antes da instituição do calendário gregoriano, o Dia de Ano Novo era 25 de março. Para evitar confusão, esse calendário sempre usa 1º de janeiro. Um ajuste manual pode ser feito se desejado para datas anteriores à mudança gregoriana e que caem entre 1º de janeiro e 24 de março.
<h2>"week_and_year">Semana do Ano e Ano< da Semana/h2>
Os valores calculados para o Calendar#WEEK_OF_YEAR WEEK_OF_YEAR campo variam de 1 a 53. A primeira semana de um ano civil é o primeiro período de sete dias que começa em Calendar#getFirstDayOfWeek() getFirstDayOfWeek() que contém pelo menos Calendar#getMinimalDaysInFirstWeek() getMinimalDaysInFirstWeek() dias a partir desse ano. Assim, depende dos valores de getMinimalDaysInFirstWeek(), getFirstDayOfWeek()e o dia da semana de 1º de janeiro. As semanas entre a semana 1 de um ano e a semana 1 do ano seguinte (exclusiva) são numeradas sequencialmente de 2 a 52 ou 53 (exceto os anos envolvidos na transição Julian-Gregorian).
Os getFirstDayOfWeek() valores e os getMinimalDaysInFirstWeek() valores são inicializados usando recursos dependentes de localidade ao construir um GregorianCalendar. "iso8601_compatible_setting">A determinação da semana é compatível com o padrão ISO 8601 quando getFirstDayOfWeek() é MONDAY e getMinimalDaysInFirstWeek() é 4, quais valores são usados em localidades onde o padrão é preferencial. Esses valores podem ser definidos explicitamente chamando Calendar#setFirstDayOfWeek(int) setFirstDayOfWeek() e Calendar#setMinimalDaysInFirstWeek(int) setMinimalDaysInFirstWeek().
Um "week_year"><em semana ano>/em está< em sincronia com um >WEEK_OF_YEARciclo. Todas as semanas entre a primeira e as últimas semanas (inclusive) têm o mesmo <>valor de ano</em> semana. Portanto, os primeiros e últimos dias de um ano de semana podem ter valores de ano civil diferentes.
Por exemplo, 1º de janeiro de 1998 é uma quinta-feira. Se getFirstDayOfWeek() for MONDAY e getMinimalDaysInFirstWeek() for 4 (configuração compatível com iso 8601 padrão), a semana 1 de 1998 começa em 29 de dezembro de 1997 e termina em 4 de janeiro de 1998. O ano da semana é 1998 para os últimos três dias do ano civil de 1997. Se, no entanto, getFirstDayOfWeek() é SUNDAY, então a semana 1 de 1998 começa em 4 de janeiro de 1998, e termina em 10 de janeiro de 1998; os três primeiros dias de 1998 então fazem parte da semana 53 de 1997 e seu ano de semana é 1997.
<h3>Semana do Mês</h3>
Os valores calculados para o WEEK_OF_MONTH campo variam de 0 a 6. A semana 1 de um mês (os dias com WEEK_OF_MONTH = 1) é o primeiro conjunto de pelo menos getMinimalDaysInFirstWeek() dias contíguos naquele mês, terminando no dia anterior getFirstDayOfWeek(). Ao contrário da semana 1 de um ano, a semana 1 de um mês pode ser menor que 7 dias, não precisa começar getFirstDayOfWeek()e não incluirá dias do mês anterior. Dias de um mês antes da semana 1 têm um WEEK_OF_MONTH de 0.
Por exemplo, se getFirstDayOfWeek() for SUNDAY e getMinimalDaysInFirstWeek() for 4, a primeira semana de janeiro de 1998 é domingo, 4 de janeiro a sábado, 10 de janeiro. Hoje em dia tem um WEEK_OF_MONTH de 1. Quinta-feira, 1º de janeiro a sábado, 3 de janeiro tem um WEEK_OF_MONTH de 0. Se getMinimalDaysInFirstWeek() for alterado para 3, de 1º de janeiro a 3 de janeiro terá um WEEK_OF_MONTH de 1.
<Valores> de campos padrão h3</h3>
O clear método define campos de calendário indefinidos.
GregorianCalendar usará o seguinte valor padrão para cada campo de calendário se o valor for indefinido.
<table class="striped" style="text-align: left; largura: 66%;"><caption style="display:none">GregorianCalendar default field values</caption><thead><tr><th scope="col"> Field </th th><scope="col"> Default Value </th></tr></thead><tbody><tr><th scope="row">ERA</th><td>AD</td></tr><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/td>the first day of week<></tr><tr><th scope="row">WEEK_OF_MONTH</th><td>0</td></tr><tr><th scope="row">DAY_OF_WEEK_IN_MONTH</th><td>1</td></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><>Os valores padrão não são aplicáveis para os campos não listados acima.
<exemplo forte>:</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>
Adicionado em 1.1.
Java documentação para java.util.GregorianCalendar.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| GregorianCalendar() |
Constrói um padrão |
| GregorianCalendar(Int32, Int32, Int32, Int32, Int32, Int32) |
Constrói um GregorianCalendar com a data e a hora determinadas definidas para o fuso horário padrão com a localidade padrão. |
| GregorianCalendar(Int32, Int32, Int32, Int32, Int32) |
Constrói um |
| GregorianCalendar(Int32, Int32, Int32) |
Constrói um |
| GregorianCalendar(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
| GregorianCalendar(Locale) |
Constrói um |
| GregorianCalendar(TimeZone, Locale) |
Constrói um |
| GregorianCalendar(TimeZone) |
Constrói um |
Campos
| Nome | Description |
|---|---|
| Ad |
Valor do |
| AllStyles |
Obsoleto.
Um especificador de estilo para |
| Am |
Valor do |
| AmPm |
Obsoleto.
Número de campo para |
| April |
Valor do |
| August |
Valor do |
| Bc |
Valor do |
| Date |
Obsoleto.
Número do campo para |
| DayOfMonth |
Obsoleto.
Número do campo para |
| DayOfWeek |
Obsoleto.
Número do campo para |
| DayOfWeekInMonth |
Obsoleto.
Número de campo para |
| DayOfYear |
Obsoleto.
Número do campo para |
| December |
Valor do |
| DstOffset |
Obsoleto.
Número de campo para |
| Era |
Obsoleto.
Número de campo para |
| February |
Valor do |
| FieldCount |
O número de campos distintos reconhecidos por |
| Friday |
Valor do |
| Hour |
Obsoleto.
Número do campo para |
| HourOfDay |
Obsoleto.
Número do campo para |
| January |
Valor do |
| July |
Valor do |
| June |
Valor do |
| Long |
Obsoleto.
Um especificador de estilo para |
| LongFormat |
Um especificador de estilo para |
| LongStandalone |
Um especificador de estilo para |
| March |
Valor do |
| May |
Valor do |
| Millisecond |
Obsoleto.
Número de campo para |
| Minute |
Obsoleto.
Número de campo para |
| Monday |
Valor do |
| Month |
Obsoleto.
Número do campo para |
| NarrowFormat |
Um especificador de estilo para |
| NarrowStandalone |
Um especificador de estilo para |
| November |
Valor do |
| October |
Valor do |
| Pm |
Valor do |
| Saturday |
Valor do |
| Second |
Obsoleto.
Número do campo para |
| September |
Valor do |
| Short |
Obsoleto.
Um especificador de estilo para |
| ShortFormat |
Um especificador de estilo para |
| ShortStandalone |
Um especificador de estilo para |
| Sunday |
Valor do |
| Thursday |
Valor do |
| Tuesday |
Valor do |
| Undecimber |
Valor do |
| Wednesday |
Valor do |
| WeekOfMonth |
Obsoleto.
Número do campo para |
| WeekOfYear |
Obsoleto.
Número do campo para |
| Year |
Obsoleto.
Número do campo para |
| ZoneOffset |
Obsoleto.
Número de campo para |
Propriedades
| Nome | Description |
|---|---|
| AreFieldsSet |
True se |
| CalendarType |
Retorna o tipo de calendário deste |
| Class |
Retorna a classe de runtime deste |
| Fields |
Os valores do campo de calendário para a hora definida atualmente para este calendário. (Herdado de Calendar) |
| FirstDayOfWeek |
Obtém o que é o primeiro dia da semana; e. (Herdado de Calendar) |
| GregorianChange |
Obtém a data de alteração do Calendário Gregoriano. -ou- Define a data de |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| IsTimeSet |
True se, em seguida, o valor de |
| IsWeekDateSupported |
Retorna |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| Lenient |
Informa se a interpretação de data/hora deve ser branda. (Herdado de Calendar) |
| MinimalDaysInFirstWeek |
Obtém o que são os dias mínimos necessários na primeira semana do ano; e. (Herdado de Calendar) |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
| Time |
Retorna um |
| TimeInMillis |
Retorna o valor de tempo desse calendário em milissegundos. (Herdado de Calendar) |
| TimeZone |
Obtém o fuso horário. -ou- Define o fuso horário com o valor de fuso horário fornecido. (Herdado de Calendar) |
| WeeksInWeekYear |
Retorna o número de semanas no ano da semana representado por isso |
| WeekYear |
Retorna o ano da semana representado por este |
Métodos
| Nome | Description |
|---|---|
| Add(CalendarField, Int32) |
Adiciona o tempo especificado (assinado) ao campo de calendário determinado, com base nas regras do calendário. |
| After(Object) |
Retorna se isso |
| Before(Object) |
Retorna se isso |
| Clear() |
Define todos os valores de campo de calendário e o valor de tempo (deslocamento de milissegundos da época "#Epoch">) deste |
| Clear(CalendarField) |
Define o valor de campo de calendário fornecido e o valor de tempo (deslocamento de milissegundos do "#Epoch">Época) deste |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Calendar) |
| CompareTo(Calendar) |
Compara os valores de tempo (deslocamentos de milissegundos da época "#Epoch">) representados por dois |
| Complete() |
Preenche todos os campos não definidos nos campos de calendário. (Herdado de Calendar) |
| ComputeFields() |
Converte o valor de tempo (deslocamento de milissegundo da Época) em valores de campo de calendário. |
| ComputeTime() |
Converte valores de campo de calendário no valor de tempo (deslocamento de milissegundo da Época). |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| From(ZonedDateTime) |
Obtém uma instância com |
| Get(CalendarField) |
Retorna o valor do campo de calendário fornecido. (Herdado de Calendar) |
| GetActualMaximum(CalendarField) |
Retorna o valor máximo que o campo de calendário especificado poderia ter, dado o valor de tempo deste |
| GetActualMinimum(CalendarField) |
Retorna o valor mínimo que o campo de calendário especificado poderia ter, dado o valor de tempo deste |
| GetDisplayName(Int32, Int32, Locale) |
Retorna a representação de cadeia de caracteres do valor do calendário |
| GetDisplayNames(Int32, Int32, Locale) |
Retorna um |
| GetGreatestMinimum(CalendarField) |
Retorna o valor mínimo mais alto para o campo de calendário fornecido desta |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetLeastMaximum(CalendarField) |
Retorna o valor máximo mais baixo para o campo de calendário fornecido dessa |
| GetMaximum(CalendarField) |
Retorna o valor máximo para o campo de calendário fornecido desta |
| GetMinimum(CalendarField) |
Retorna o valor mínimo para o campo de calendário fornecido dessa |
| InternalGet(Int32) |
Retorna o valor do campo de calendário fornecido. (Herdado de Calendar) |
| IsLeapYear(Int32) |
Determina se o ano determinado é um ano bissexto. |
| IsSet(CalendarField) |
Determina se o campo de calendário fornecido tem um conjunto de valores, incluindo casos em que o valor foi definido por cálculos de campos internos disparados por uma |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| Roll(CalendarField, Boolean) |
Adiciona ou subtrai (para cima/para baixo) uma única unidade de tempo no campo de tempo determinado sem alterar campos maiores. |
| Roll(CalendarField, Int32) |
Adiciona o valor especificado (assinado) ao campo de calendário especificado sem alterar campos maiores. (Herdado de Calendar) |
| Set(CalendarField, Int32) |
Define o campo de calendário fornecido como o valor fornecido. (Herdado de Calendar) |
| Set(Int32, Int32, Int32, Int32, Int32, Int32) |
Define os valores para os campos , , , , |
| Set(Int32, Int32, Int32, Int32, Int32) |
Define os valores para os campos |
| Set(Int32, Int32, Int32) |
Define os valores para os campos |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| SetWeekDate(Int32, Int32, Int32) |
Define a data disso |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToInstant() |
|
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| ToZonedDateTime() |
Converte esse objeto em um |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IComparable.CompareTo(Object) |
|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |