Idioma

Calendar.Roll Método

Definição

Sobrecargas

Nome Description
Roll(CalendarField, Boolean)

Rola (para cima/para baixo) uma única unidade de tempo no campo determinado.

Roll(CalendarField, Int32)

Rola (para cima/para baixo) um tempo de quantidade especificado no campo determinado.

Roll(CalendarField, Boolean)

Rola (para cima/para baixo) uma única unidade de tempo no campo determinado.

[Android.Runtime.Register("roll", "(IZ)V", "", ApiSince=24)]
public void Roll(Android.Icu.Util.CalendarField field, bool up);
[<Android.Runtime.Register("roll", "(IZ)V", "", ApiSince=24)>]
member this.Roll : Android.Icu.Util.CalendarField * bool -> unit

Parâmetros

field
CalendarField

o campo de calendário a ser rolado.

up
Boolean

indica se o valor do campo de tempo especificado deve ser acumulado ou rolado para baixo. Use true se estiver rolando, false caso contrário.

Atributos

Comentários

Rola (para cima/para baixo) uma única unidade de tempo no campo determinado. Se o campo for revertido além de seu valor máximo permitido, ele "encapsulará" de volta ao seu mínimo e continuará rolando. Por exemplo, para aumentar a data atual em um dia, você pode chamar:

roll({@link #DATE}, true)

Ao rolar no #YEAR campo, ele rolará o valor do ano no intervalo entre 1 e o valor retornado pela chamada #getMaximum getMaximum(#YEAR).

Ao rolar em determinados campos, os valores de outros campos podem entrar em conflito e precisam ser alterados. Por exemplo, ao rolar o MONTH campo para a data gregoriana 1/31/96 para cima, o DAY_OF_MONTH campo deve ser ajustado para que o resultado seja 2/29/96 em vez do inválido 31/02/96.

Rolar sempre significa avançar no tempo (a menos que o limite do campo seja atingido, nesse caso ele pode fixar ou encapsular), então para o calendário gregoriano, começando com 100 a.C. e rolando o ano para cima resulta em 99 a.C. Quando as eras têm um início e fim definitivos (como no calendário chinês, ou como na maioria das eras no calendário japonês) então rolar o ano passado de qualquer limite da era fará com que o ano se enrole. Quando as eras têm apenas um limite em uma extremidade, então tentar rolar o ano após esse limite resultará em fixar o ano nesse limite. Observe que, para a maioria dos calendários em que a era 0 anos avança no tempo (como budista, hebraico ou islâmico), é possível adicionar ou rolar para resultar em anos negativos para a era 0 (essa é a única maneira de representar anos antes da época do calendário nesses calendários).

<b>Observação:</b> Chamar roll(field, true) N vezes não< é <>necessariamente> equivalente à chamadaroll(field, N). Por exemplo, imagine que você comece com a data gregoriana data 31 de janeiro de 1995. Se você ligar roll(Calendar.MONTH, 2), o resultado será 31 de março de 1995. Mas se você ligar roll(Calendar.MONTH, true), o resultado será 28 de fevereiro de 1995. Chamá-lo mais uma vez dará 28 de março de 1995, que geralmente não é o resultado desejado.

<b>Observação:</b> Você sempre deve usar roll e add , em vez de tentar executar operações aritméticas diretamente nos campos de um Calendar. É bem possível que Calendar subclasses tenham campos com comportamento não linear, por exemplo, meses ou dias ausentes durante anos não bissextos. As subclasses add e roll os métodos levarão isso em conta, enquanto manipulações aritméticas simples podem fornecer resultados inválidos.

Java documentação para android.icu.util.Calendar.roll(int, boolean).

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.

Aplica-se a

Roll(CalendarField, Int32)

Rola (para cima/para baixo) um tempo de quantidade especificado no campo determinado.

[Android.Runtime.Register("roll", "(II)V", "GetRoll_IIHandler", ApiSince=24)]
public virtual void Roll(Android.Icu.Util.CalendarField field, int amount);
[<Android.Runtime.Register("roll", "(II)V", "GetRoll_IIHandler", ApiSince=24)>]
abstract member Roll : Android.Icu.Util.CalendarField * int -> unit
override this.Roll : Android.Icu.Util.CalendarField * int -> unit

Parâmetros

field
CalendarField

o campo de calendário a ser rolado.

amount
Int32

o valor pelo qual o campo deve ser rolado.

Atributos

Comentários

Rola (para cima/para baixo) um tempo de quantidade especificado no campo determinado. Por exemplo, para aumentar a data atual por três dias, você pode chamar roll(Calendar.DATE, 3). Se o campo for revertido além de seu valor máximo permitido, ele "encapsulará" de volta ao seu mínimo e continuará rolando. Por exemplo, chamar roll(Calendar.DATE, 10) um calendário gregoriano definido como 25/4/96 resultará na data de 5/04/96.

Ao rolar em determinados campos, os valores de outros campos podem entrar em conflito e precisam ser alterados. Por exemplo, ao rolar o #MONTH MONTH campo para a data gregoriana de 31/1/96 por +1, o #DAY_OF_MONTH DAY_OF_MONTH campo deve ser ajustado para que o resultado seja 2/29/96 em vez do inválido 31/02/96.

Rolar por um valor positivo sempre significa avançar no tempo (a menos que o limite do campo seja atingido, nesse caso ele pode fixar ou encapsular), de modo que para o calendário gregoriano, começando com 100 a.C. e rolando o ano em + 1 resulta em 99 a.C. Quando as eras têm um início e fim definitivos (como no calendário chinês, ou como na maioria das eras no calendário japonês) então rolar o ano passado de qualquer limite da era fará com que o ano se enrole. Quando as eras têm apenas um limite em uma extremidade, então tentar rolar o ano após esse limite resultará em fixar o ano nesse limite. Observe que, para a maioria dos calendários em que a era 0 anos avança no tempo (como budista, hebraico ou islâmico), é possível adicionar ou rolar para resultar em anos negativos para a era 0 (essa é a única maneira de representar anos antes da época do calendário nesses calendários).

<strong>[icu] Observação:</strong> a implementação da UTI desse método é capaz de rolar todos os campos, exceto para #ERA ERA, #DST_OFFSET DST_OFFSETe #ZONE_OFFSET ZONE_OFFSET. As subclasses podem, naturalmente, adicionar suporte para campos adicionais em suas substituições de roll.

<b>Observação:</b> Você sempre deve usar roll e add , em vez de tentar executar operações aritméticas diretamente nos campos de um Calendar. É bem possível que Calendar subclasses tenham campos com comportamento não linear, por exemplo, meses ou dias ausentes durante anos não bissextos. As subclasses add e roll os métodos levarão isso em conta, enquanto manipulações aritméticas simples podem fornecer resultados inválidos.

<b>Subclasse:</b><br> Essa implementação roll pressupõe que o comportamento do campo é contínuo entre o mínimo e o máximo, que são encontrados por chamada #getActualMinimum getActualMinimum e #getActualMaximum getActualMaximum. Para a maioria desses campos, a adição simples, a subtração e as operações de módulo são suficientes para executar o roll. Para campos relacionados à semana, os resultados de #getFirstDayOfWeek getFirstDayOfWeek e #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek também são necessários. As subclasses podem substituir esses dois métodos se seus valores forem diferentes dos padrões.

As subclasses que têm campos para os quais a suposição de continuidade é interrompida devem substituir roll para lidar especialmente com esses campos. Por exemplo, no calendário hebraico, o mês "Adar I" ocorre apenas em anos bissextos; em outros anos, o calendário salta de Shevat (mês nº 4) para Adar (mês nº 6). O HebrewCalendar#roll HebrewCalendar.roll método leva isso em conta, de modo que rolar o mês de Shevat por um dá o resultado adequado (Adar) em um ano não bissexto.

Java documentação para android.icu.util.Calendar.roll(int, int).

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.

Aplica-se a