Lingua

Calendar.FieldDifference(Date, CalendarField) Metodo

Definizione

<strong>[icu]</strong> Restituisce la differenza tra l'ora specificata e l'ora in cui l'oggetto calendario è impostato su .

[Android.Runtime.Register("fieldDifference", "(Ljava/util/Date;I)I", "GetFieldDifference_Ljava_util_Date_IHandler", ApiSince=24)]
public virtual int FieldDifference(Java.Util.Date? when, Android.Icu.Util.CalendarField field);
[<Android.Runtime.Register("fieldDifference", "(Ljava/util/Date;I)I", "GetFieldDifference_Ljava_util_Date_IHandler", ApiSince=24)>]
abstract member FieldDifference : Java.Util.Date * Android.Icu.Util.CalendarField -> int
override this.FieldDifference : Java.Util.Date * Android.Icu.Util.CalendarField -> int

Parametri

when
Date

la data per confrontare l'ora del calendario con

field
CalendarField

campo in cui calcolare il risultato

Valori restituiti

la differenza, positiva o negativa, tra l'ora del calendario e when, in termini di field.

Attributi

Commenti

<strong>[icu]</strong> Restituisce la differenza tra l'ora specificata e l'ora in cui l'oggetto calendario è impostato su . Se il calendario viene impostato <prima></em> dell'ora specificata, il valore restituito sarà positivo. Se il calendario è impostato <su em>dopo</em> l'ora specificata, il valore restituito sarà negativo. Il field parametro specifica le unità del valore restituito. Ad esempio, se fieldDifference(when, Calendar.MONTH) restituisce 3, questo calendario viene impostato su 3 mesi prima whendi e possibilmente un periodo di tempo aggiuntivo inferiore a un mese.

Come effetto collaterale di questa chiamata, questo calendario è avanzato per when l'importo specificato. Ovvero, la chiamata a questo metodo ha l'effetto collaterale della chiamata add(field, n)a , dove n è il valore restituito.

Utilizzo: per usare questo metodo, chiamarlo prima con il campo più grande di interesse, quindi con campi progressivamente più piccoli. Per esempio:

int y = cal.fieldDifference(when, Calendar.YEAR);
            int m = cal.fieldDifference(when, Calendar.MONTH);
            int d = cal.fieldDifference(when, Calendar.DATE);

calcola la differenza tra cal e when in anni, mesi e giorni.

Nota: fieldDifference() è <asimmetrico></em>. Ovvero, nel codice seguente:

cal.setTime(date1);
            int m1 = cal.fieldDifference(date2, Calendar.MONTH);
            int d1 = cal.fieldDifference(date2, Calendar.DATE);
            cal.setTime(date2);
            int m2 = cal.fieldDifference(date1, Calendar.MONTH);
            int d2 = cal.fieldDifference(date1, Calendar.DATE);

ci si potrebbe aspettare che m1 == -m2 &amp;&amp; d1 == -d2. Tuttavia, questo non è in genere il caso, a causa di irregolarità nel sistema di calendario sottostante (ad esempio, il calendario gregoriano ha un numero variabile di giorni al mese).

per android.icu.util.Calendar.fieldDifference(java.util.Date, int).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a