Linguaggio

ZonedDateTime.Until(ITemporal, ITemporalUnit) Metodo

Definizione

Calcola la quantità di tempo fino a un'altra data e ora in termini di unità specificata.

[Android.Runtime.Register("until", "(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J", "", ApiSince=26)]
public long Until(Java.Time.Temporal.ITemporal? endExclusive, Java.Time.Temporal.ITemporalUnit? unit);
[<Android.Runtime.Register("until", "(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J", "", ApiSince=26)>]
abstract member Until : Java.Time.Temporal.ITemporal * Java.Time.Temporal.ITemporalUnit -> int64
override this.Until : Java.Time.Temporal.ITemporal * Java.Time.Temporal.ITemporalUnit -> int64

Parametri

endExclusive
ITemporal

data di fine, esclusiva, che viene convertita in zonedDateTime, non null

unit
ITemporalUnit

unità in cui misurare l'importo, non null

Valori restituiti

intervallo di tempo compreso tra la data e l'ora di fine

Implementazioni

Attributi

Commenti

Calcola la quantità di tempo fino a un'altra data e ora in termini di unità specificata. In questo modo viene calcolato l'intervallo di tempo tra due oggetti ZonedDateTime in termini di un singolo oggetto TemporalUnit. I punti di inizio e di fine sono questo e la data e l'ora specificate. Il risultato sarà negativo se la fine è prima dell'inizio. Ad esempio, l'importo in giorni compresi tra due date-time può essere calcolato usando startDateTime.until(endDateTime, DAYS). Il valore Temporale passato a questo metodo viene convertito in un oggetto ZonedDateTime usando from(TemporalAccessor). Se il fuso orario è diverso tra le due date di fuso orario, l'ora di fine specificata viene normalizzata in modo da avere lo stesso fuso di questa data e ora. Il calcolo restituisce un numero intero, che rappresenta il numero di unità complete tra le due date-time. Ad esempio, l'importo in mesi compresi tra 2012-06-15T00:00Z e 2012-08-14T23:59Z sarà solo un mese perché è un minuto breve di due mesi. Esistono due modi equivalenti per usare questo metodo. Il primo consiste nel richiamare questo metodo. Il secondo consiste nell'usare TemporalUnit.between(Temporal, Temporal): la scelta deve essere effettuata in base alla quale il codice risulta più leggibile. Il calcolo viene implementato in questo metodo per ChronoUnit. Sono supportate le unità NANOS, MICROS, MILLIS, SECONDS, MINUTES, HOURS e HALF_DAYS, DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURY, MILLENNIA ed ERAS. Altri valori ChronoUnit genereranno un'eccezione. Il calcolo per le unità di data e ora è diverso. Le unità di data operano sulla riga di ora locale, usando la data e l'ora locale. Ad esempio, il periodo compreso tra mezzogiorno e mezzogiorno il giorno successivo in giorni verrà sempre conteggiato come esattamente un giorno, indipendentemente dal fatto che si sia verificato o meno un cambio di ora legale. Le unità di tempo operano sulla linea temporale immediata. Il calcolo converte in modo efficace entrambe le date a zone in istantanee e quindi calcola il periodo tra gli istantanei. Ad esempio, il periodo compreso tra mezzogiorno e mezzogiorno il giorno successivo in ore può essere di 23, 24 o 25 ore (o un altro importo) a seconda che si sia verificato o meno un cambio di ora legale. Se l'unità non è chronounit, il risultato di questo metodo viene ottenuto richiamando TemporalUnit.between(Temporale, Temporale) passando questo come primo argomento e il valore temporale di input convertito come secondo argomento. Questa istanza non è modificabile e non influenzata da questa chiamata al metodo.

Java informazioni di riferimento per java.time.ZonedDateTime.until.

Si applica a